リストを検索する機能に問題があります。リスト配列String[]
は、実際の .java ファイルの に添付されていましたが、配列を文字列 xml ファイルに移動して、アプリで異なる言語を使用する別の機能を実装しました。したがって、リストビューを翻訳する
とにかく、コードが次のことを行っている理由は理解していますが、それを解決する方法がわかりません...
Resources res = getResources();
final String[] items = res.getStringArray(R.array.societies_array);
listView2 = (ListView) findViewById(R.id.societieslist);
EditText inputSearch = (EditText) findViewById(R.id.inputSearch);
// Adding items to listview
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, items);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// When user changed the Text
System.out.println(cs);
SocietiesScreen.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
リストの onclick リスナーはリストのインデックスに依存するため、検索されていない場合は正常に動作しますが、特定のオプションを検索すると、新しい「最初のオプション」に元の番号を保持する代わりに新しいインデックス番号が割り当てられるようになりました
それが理にかなっていることを願っています。私は十分なコードを提供しました。他に何か必要な場合はお知らせください
ありがとう