1. ホーム
  2. アンドロイド

エラーの報告です。ArrayAdapter は、リソース ID が TextView である必要があります。

2022-02-10 09:54:26
<パス

この問題は、Spinner バインディングレイアウトを使用する際にエラーが発生します。

 ArrayAdapter
 arrayAdapter =new ArrayAdapter
(getContext(), R.layout.spinner_item2,ListData());
        arrayAdapter.setDropDownViewResource(R.layout.spinner_item);
        spinner.setAdapter(arrayAdapter);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<? > adapterView, View view, int i, long l) {
                HiddenKey();
            }

            @Override
            public void onNothingSelected(AdapterView<? > adapterView) {

            }
        });


ArrayAdapter がバインドされているレイアウトは、R.layout.spinner_item2 です。
以下は R.layout.spinner_item2 のレイアウトコードです。

<?xml version="1.0" encoding="utf-8"? >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/red">

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>


R.layout.spinner_item2 のレイアウトコードを次のように変更します。

<?xml version="1.0" encoding="utf-8"? >
    <TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="22sp"
    android:textColor="@color/text_color_smallblack"
    />


にフォーカスしています。 : xmlns:android="http://schemas.android.com/apk/res/android"。
ArrayAdapterに必要なレイアウトは全てこのように変更することができます。
実行後の通常状態。