1
検索バーを使用してAndroidリストビューをフィルタリングする際に問題が発生しました。 コードを展開してCustomListクラスを追加する前に問題なく動作しました。 CustomListクラスは、イメージとサブテキストを含むListViewにデータを格納するためのクラスです。私のCustomListクラスは、ArrayAdapterを継承しています。検索とフィルタリングAndroidリストビュー
これは、両方のクラス
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] languages;
public CustomList(Activity context, String[] languages) {
super(context, R.layout.list_single, languages);
this.context = context;
this.languages = languages;
}
}
とMainActivityから関連するコードです:私は、検索バーにテキストを入力すると
public class MainActivity extends Activity {
CustomList adapter;
ListView list;
EditText searchBar;
String[] languages = { "ActionScript", "Ajax", "Python", "Java", "JavaScript", "C++", "C#", "C", "NASM", "Assembly",
"PHP", "R", "Scala", "TeX", "Visual Basic", "Fortran", "COBOL", "Lisp", "Lua", "Ruby", "XML", };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Arrays.sort(languages);
searchBar = (EditText) findViewById(R.id.searchBarTI);
adapter = new CustomList(MainActivity.this, languages);
list = (ListView) findViewById(R.id.listVw);
list.setTextFilterEnabled(true);
list.setAdapter(adapter);
searchBar.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
MainActivity.this.adapter.getFilter().filter(cs);
}
});
}
}
、リストビュー内の唯一の最初の要素が残っています。残りは除外されています
私は私が去るか、見ていないですかわからないです。誰かが助けてください。
を、私はこのチュートリアルに続き、それが機能するようになりました。各ListViewアイテムにカスタムモデルクラスを追加する必要がありました。http://www.survivingwithandroid.com/2012/10/android-listview-custom-filter-and.html – zimspy