2012-04-10 85 views
1

如何自定義自動完成textview的建議列表? 我需要在此顯示圖像和文本,我使用baseadapter類,這是不工作以下定製它是我的代碼。請看看它,給我建議,以解決這一點 感謝....在android中自定義建議列表的自動完成文本視圖?

public class AutocompleteTextActivity extends Activity { 
     /** Called when the activity is first created. */ 

     static final String[] COUNTRIES = new String[] { "Afghanistan", "Albania", 
       "Algeria", "American Samoa", "Andorra", "India", "Indonesia" }; 
     static final Integer[] Images = { R.drawable.one, R.drawable.two, 
       R.drawable.three, R.drawable.four, R.drawable.five, R.drawable.six, 
       R.drawable.seven }; 

     private AutoCompleteTextView searchText; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      searchText = (AutoCompleteTextView) findViewById(R.id.autocomplete_country); 
      searchText.setAdapter(new EfficientAdapter(this)); 

     } 

     private static class EfficientAdapter extends BaseAdapter { 
      private LayoutInflater li; 

      public EfficientAdapter(Context context) { 
       li = LayoutInflater.from(context); 
      } 

      public int getCount() { 
       return COUNTRIES.length; 
      } 

      public Object getItem(int position) { 
       return position; 
      } 

      public long getItemId(int position) { 
       return position; 
      } 

      public View getView(int position, View convertView, ViewGroup parent) { 
       ViewHolder holder; 
       if (convertView == null) { 
        convertView = li.inflate(R.layout.listitem, null); 
        holder = new ViewHolder(); 
        holder.name = (TextView) convertView.findViewById(R.id.text); 
        holder.image = (ImageView) convertView.findViewById(R.id.image); 
        convertView.setTag(holder); 
       } else { 
        holder = (ViewHolder) convertView.getTag(); 
       } 
       holder.name.setText(COUNTRIES[position]); 
       holder.image.setBackgroundResource(Images[position]); 
       return convertView; 
      } 

      static class ViewHolder { 
       TextView name; 
       ImageView image; 
      } 
     } 
    } 
+0

你是什麼意思的「不工作」?..你有任何錯誤?或一個空白的屏幕?或者什麼? – 5hssba 2012-04-10 16:58:36

+0

我在searchText.setAdapter(new EfficientAdapter(this))上得到一個錯誤;這是顯示我不能添加這個適配器.. – user03 2012-04-10 17:01:18

+0

什麼是錯誤?postcat的日誌.. – 5hssba 2012-04-10 17:01:57

回答

0

嘗試this作爲參考。希望這會幫助別人!