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ます。すべての例で、このパラメーターが囲みレイアウトであることを示しています。誰かが私の混乱を解消できますか?