Android Studio listView添加和搜索

时间:2016-04-26 18:02:35

标签: android listview

我的任务是创建一个带有ListView的Android应用程序,该应用程序必须具有添加按钮和搜索系统。我看了几个教程(https://www.youtube.com/watch?v=c9yC8XGaSv4https://www.youtube.com/watch?v=7LgEk3Cg9Yk)并使用这两个教程我开发了一个程序。该程序可以做两件事,但有一个错误。当我第一次运行应用程序时,我添加了一些项目然后我使用了搜索功能。搜索工作正常,但搜索一次使用后,它就不再有效了。

以下是我的代码:

private ArrayList<String> arrayList;
private ArrayAdapter<String> adapter;
private EditText txtInput;
SearchView searchView;

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listView = (ListView)findViewById(R.id.listv);

        String Items[]={};

        arrayList = new ArrayList<>(Arrays.asList(Items));

        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arrayList);
        listView.setAdapter(adapter);

        txtInput = (EditText)findViewById(R.id.txtinput);

        Button btAdd = (Button)findViewById(R.id.btadd);

        searchView = (SearchView)findViewById(R.id.searchView1);

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String text) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String text) {
                adapter.getFilter().filter(text);
                return false;
            }
        });

        btAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String newItem = txtInput.getText().toString();
                arrayList.add(newItem);
                adapter.notifyDataSetChanged();
            }
        });
    }
}

0 个答案:

没有答案