AutoCompleteTextView를 사용하여 ListActivity를 만들려고합니다. ListView에는 ImageView와 2 개의 TextViews로 구성된 listItems가 있습니다. 자동 완성 문자열을 제외한 모든 것이 잘 작동합니다. ArrayAdapter를 사용하고 있지만 문자열 (COUNTRIES)을 설정하는 방법을 모르겠습니다. 다음은 일부 코드입니다.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
아마도 나는 이해하지 못했을 것입니다 - 실제로 어댑터에는 두 가지 목록이 있습니다. 하나는 목록 용이고 다른 하나는 자동 완성보기 용입니다 - 그럴 권리가 있습니까? –
나쁘다! 그것은 목록과 textView에 "searchListAdapter"를 추가하는 것 같습니다. 그래서 당신이 말했듯이 실제로 하나의 어댑터가 필요합니다 TextView 및 하나의 어댑터 목록입니다. 이제는 작동하지만 "제안 된"문자열은 시각적 구성 요소에 맞지 않습니다. 절반으로 줄일 수 있습니다. 하지만 아마도 새로운 질문을해야 할 것입니다. 감사! –
Adrian