使用EditText搜索

时间:2016-06-06 13:09:38

标签: android listview android-edittext

我正在开发一个应用程序,其中我在listview上有edittext搜索选项。以下是 onTextChanged 的代码,我收到错误 cannot resolve method get(java.lang.String) 需要帮助。

@Override
public void onTextChanged(CharSequence s, int start, int before,
                          int count) {
    /*if (s.toString().equalsIgnoreCase("")){
        initList();
    }else{
        searchItem(s.toString());
    }*/

    int textlength = editsearch.getText().length();
    ArrayList<String> listitems2 = new ArrayList<String>();

    for (int i = 0; i < listitems.size(); i++) {

        itemname[i] = listitems.get(i).get("itemname");
        Log.d("unm", itemname[i]);
    }
    for (int i = 0; i < listitems.size(); i++) {
        if (textlength <= itemname[0].length()) {


            if (itemname[i].toLowerCase().contains(
                    editsearch.getText().toString().toLowerCase().trim())) {
                listitems2.add(listitems.get(i));
            }
        }
    }
    adapter = new ArrayAdapter<String>(Function.this, R.layout.list_funitem, R.id.txtitem, listitems2);

    mlist.setAdapter(adapter);
}

我在以下位置收到错误“ .get(”itemname“)

itemname[i] = listitems.get(i).get("itemname");

1 个答案:

答案 0 :(得分:0)

ArrayList<String> listitems2 = new ArrayList<String>();

for(int i=0;i<listitems.size();i++)
{

if(listitems.get(i).itemname.toLowerCase().contains(editsearch.getText().toString().toLowerCase()))
{
 listitems2.add(listitems.get(i));
}

}

  adapter = new ArrayAdapter<String>(Function.this, R.layout.list_funitem, R.id.txtitem, listitems2);

    mlist.setAdapter(adapter);