AutoCompleteTextViewでListActivityを作成しようとしています。 ListViewには、ImageViewと2つのTextViewからなるlistItemsがあります。 オートコンプリート文字列を除いてすべてがうまくいきます。私はArrayAdapterを使用していますが、文字列(国)を設定する方法はわかりません。 ここにコードの一部を示します。AutoCompleteTextViewでカスタムリストの問題が発生する
パブリッククラスSearchActivityは{
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
"Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
"Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
"Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
"Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
"British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
"Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
"Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
"Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
"Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic"
};
private AutoCompleteTextView searchView;
private ListView mListView;
private ArrayList<MyItem> itemList = new ArrayList<MyItem>();
private ListItemAdapter searchListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
searchView = (AutoCompleteTextView) findViewById(R.id.search_text);
searchView.setAdapter(searchListAdapter);
searchListAdapter = new ListItemAdapter(this, R.layout.search_row, itemList);
setListAdapter(searchListAdapter);
mListView = getListView();
mListView.setTextFilterEnabled(false);
}
/**
* This class is used to for the list objects.
*/
private class ListItemAdapter extends ArrayAdapter<MyItem> {
private ArrayList<MyItem> bevs;
private MyItem bevItem;
private TextView nameView;
private TextView descView;
private ImageView imageView;
public ListItemAdapter(Context context, int textViewResourceId,
ArrayList<MyItem> itemList) {
super(context, textViewResourceId, itemList);
this.bevs = itemList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
/* Update the views */
return view;
}
}
}
/乾杯エイドリアンは
もしArrayAdapterに変更すれば、どのようにして "ArrayList itemList;"を追加することができますか?リストに? –
Adrian
おそらく私は理解できません - 実際には、あなたはアダプタが必要なものの2つのリストを持っています:1つはリストのためのものであり、もう1つは自動完全なビューのためのものです。 –
私の悪い!リストとtextViewの両方に "searchListAdapter"を追加していたようです。あなたが言ったように、実際には、TextViewにはアダプタとListにはアダプタが必要です。今は動作しますが、 "提案された"文字列はビジュアルコンポーネントに収まらないので、半分にカットされます。しかし、おそらく私は新しい質問をする必要があります;)。ありがとう! –
Adrian