我如何过滤 ArrayList ......通过 SearchView 或任何代码

问题描述 投票:0回答:0

**我如何通过 SearchView 查询或其他代码过滤 ArrayList

我有这个 ArrayList listitem_alls = new ArrayList<>();在 string.xml 文件中,我想通过使用 SearchView 来过滤我的数据 如果我写了任何信,请在我的 lisview 中显示 请帮忙 **

这是我使用的 java 代码

========================= 列表视图列表视图; ArrayList listitem_alls = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_taharah_roboot);

   

    search = (SearchView) findViewById(R.id.search);
    info1 =(TextView)findViewById(R.id.info1);
    result_num = (TextView) findViewById(R.id.result_num);


 show_item();

   

}

class listAdapter extends BaseAdapter {
    ArrayList<listitem_all> lis = new ArrayList<>();
    public listAdapter(ArrayList<listitem_all> lis) {
        this.lis = lis;
    }

    @Override
    public int getCount() {
        return lis.size();
    }

    @Override
    public Object getItem(int position) {
        return lis.get(position);
    }

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

    @Override
    public View getView(final int i, View convertView, ViewGroup parent) {
        LayoutInflater layoutInflater = getLayoutInflater();
        final View view = layoutInflater.inflate(R.layout.raw_item14, null);
        //final ImageView img = (ImageView) view.findViewById(R.id.imageView_itme);
        TextView num = (TextView) view.findViewById(R.id.num);
        TextView title = (TextView) view.findViewById(R.id.book_name);

        title.setText(lis.get(i).getTitles());
        num.setText(lis.get(i).getId());
                  return view;
    }
}

public void show_item(){
    String [] id =getResources().getStringArray(R.array.id1);
    String [] Titles =getResources().getStringArray(R.array.Titles1);
    String [] Links =getResources().getStringArray(R.array.links1);

    for (int i = 0; i < Titles.length; i++) {
        listitem_alls.add(new listitem_all
                (id[i],Titles[i], Links[i]));
    }
    Taharah_Roboot.listAdapter listAdapter =new Taharah_Roboot.listAdapter(listitem_alls);
    listView.setAdapter(listAdapter);

   info1.setVisibility(View.VISIBLE);
   result_num.setVisibility(View.VISIBLE);
   result_num.setText("search num: " + listitem_alls.size());

}

}

listview arraylist searchview
© www.soinside.com 2019 - 2024. All rights reserved.