我有一个 EditText,我用它来让人们搜索数据库。现在我拥有一切正常的东西,但是,当有人在 EditText 中输入内容时,我的 ListView 并没有按照我想要的方式更新。
我想要它,以便每当有人在 EditText 中输入任何内容时,它都会更新 ListView。但是,当我在其中输入文本时,似乎什么也没发生。
这是我的代码:
@Override
protected void onResume() {
searchText = (EditText)findViewById(R.id.search_text);
ImageView searchView = (ImageView)findViewById(R.id.button_exercises_search);
ImageView searchDoneView = (ImageView)findViewById(R.id.button_exercises_search_done);
if (isSearching) {
searchView.setVisibility(View.GONE);
searchDoneView.setVisibility(View.VISIBLE);
searchText.setVisibility(View.VISIBLE);
}
else {
searchView.setVisibility(View.VISIBLE);
searchDoneView.setVisibility(View.GONE);
searchText.setVisibility(View.GONE);
}
searchText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
String query = searchText.getText().toString();
if (query.length() > 0) {
cursor = datasource.fetchFilterExercises(dayDataID, query);
}
else {
cursor = datasource.fetchAddExercises(dayDataID);
}
dataAdapter.changeCursor(cursor);
return false;
}
});
super.onResume();
}
这 2 个按钮只是图标,单击时会显示/隐藏 EditText 以进行搜索。我知道数据源正确地获取了我想要的数据等。当我在 EditText 中输入文本时,似乎什么也没发生searchText
。我应该把它移到 onCreate() 中吗?或者?