如何使用基本适配器创建搜索

时间:2013-03-26 05:24:46

标签: android android-listview android-searchmanager

如何使用基础适配器创建搜索选项?这是我试过的示例代码......请建议

public class ListViewAdapter extends BaseAdapter 
   {     //To create an adapter we have to extend BaseAdapter instead of Activity, or whatever.

  private Activity activity;
  private ArrayList<HashMap<String, String>> data;
  private static LayoutInflater inflater=null;


public ListViewAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
    activity = a;
    data=d;
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

public int getCount() {   //get the number of elements in the listview
    return data.size();
}

public Object getItem(int position) {   //this method returns on Object by position
    return position;
}

public long getItemId(int position) {   //get item id by position
    return position;
}

public View getView(int position, View convertView, ViewGroup parent) {   //getView method is the method which populates the listview with our personalized rows
    View vi=convertView;
    if(convertView==null)
        vi = inflater.inflate(R.layout.layout1, null);       //every item in listview uses xml "listview_row"'s design 

    TextView id = (TextView)vi.findViewById(R.id.textView1);  //Here are two textviews in the listview_row xml file
    TextView name = (TextView)vi.findViewById(R.id.textView2);   // You can enter anything you want, buttons, radiobuttons, images, etc.
    TextView loc = (TextView)vi.findViewById(R.id.textView3);
    TextView desc = (TextView)vi.findViewById(R.id.textView4);
    TextView status = (TextView)vi.findViewById(R.id.textView5);

    HashMap<String, String> hash = new HashMap<String, String>();  //We need a HashMap to store our data for any item
    hash = data.get(position);


    id.setText(hash.get(SaActivity.KEY_ACCOUNTNUMBER));  //We personalize our row's items.
    name.setText(hash.get(SaActivity.KEY_NAME));
   loc.setText(hash.get(SaActivity.KEY_STATUS));
   desc.setText(hash.get(SaActivity.KEY_DESC));
    status.setText(hash.get(SaActivity.KEY_NAME));

    return vi;
  }

 }

1 个答案:

答案 0 :(得分:0)

首先,你必须学习适配器和搜索控件的基本知识,然后尝试实现你想要的。

我建议您查看this并尝试按您的意愿实施。这仅供参考,以了解您的概念。

享受学习