私は 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() に移動する必要がありますか? または?