こんにちは私のプロジェクトでは、「カテゴリ」という配列のような値が多い「プログラム」というオブジェクトクラスを作成しました。すべてのプログラムはListView
で表示され、レイアウトには設定されたカテゴリSpinner
(該当するカテゴリでプログラムを分類する目的で)が設定されています。Spinnerを持つオブジェクトのListViewをAndroidオブジェクト内の値でフィルタリングする
私は、コードのこの部分を持っている:
final ArrayAdapter spinnerAdapter = new ArrayAdapter(getActivity(), R.layout.layout_spinner, MainActivity.categories); //MainActivity.categories is an array filled with strings
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String text = spinner.getSelectedItem().toString();
listAdapter.getFilter().filter(text);
listAdapter.notifyDataSetChanged();
}
Program.java
public class Program {
public String programName;
public ArrayList<String> categories;
.....
public ArrayList<String> getCategories() {
return categories;
}
public String toString() {
return programName;
}
}
しかし、これだけのフィルタリスト上のテキストによると、どのように私はそれがでそれをフィルタリングするために取得することができますプログラム一覧のCategory
変数?
さらに表示する必要があります。プログラムクラスのクラスと、スピナーをどのように配置するかを示します。 Uのやり方は、テキストとほぼ同じ方法でカテゴリ別にフィルタリングすることです。私がもっと見るまで、適切な解決策を提供するのは難しいです。 –
@AndreiT投稿を編集してコードを追加しました。変数をフィルタリングすることは、フィルタメソッドがテキストにのみプロンプトされるので、テキストをフィルタリングするのと同じだとは思わない – user2514575
カテゴリ別にフィルタリングする方法の例を挙げてください。私はあなたが達成したいことを理解していたので、私はそれほど確かではありません。 –