0

RelativeLayoutの中に AutoCompleteTextView がありFrameLayoutます。次のように宣言されたクラスを使用して、補完リストを作成したいと思います。

public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filterable {
 ...
 public AutoCompleteAdapter(Context context, int textViewResourceId) {
    super(context, textViewResourceId);
    data = new ArrayList<String>();
 }
 ...
}

次のようにアダプターを取り付けました。

AutoCompleteTextView tv = (AutoCompleteTextView) v.findViewById(R.id.editTextClient);
    AutoCompleteAdapter adapter = new AutoCompleteAdapter(getActivity(), R.layout.fragment_main_right);
    tv.setAdapter(adapter);

ここで、R.layout.fragment_main_right はFrameLayout上記の囲みです。テキストの入力を開始するClassCastExceptionと、次のメッセージが表示されます: "android.widget.FrameLayout cannot be cast to android.widget.TextView". これは、コンストラクターの 2 番目のパラメーターがArrayAdaptera から派生したものの id でなければならないことを意味すると理解していTextViewます。すべての例で、このパラメーターが囲みレイアウトであることを示しています。誰かが私の混乱を解消できますか?

4

1 に答える 1