私は会社のリストを表示する配列リストを持っています。これらの企業のそれぞれは、それに関連する町の名前を持っています。私が行ったことは、街の名前のいずれかをクリックすると、ArrayListをフィルタリングし、その町の名前を持つ会社だけを表示するように、各町の名前のボタンを作成していることです。私はのようなボタンを作成していArrayListフィルタリングが機能しない:Android
、私はデータをフィルタリングするメソッドを呼び出していますボタンをクリックすると
stringList.add(tempList.get(n).getTownName());
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 60));
btnTag.setText(stringList.get(k));
btnTag.setBackgroundResource(R.drawable.alpha_button_selector);
btnTag.setClickable(true);
townLayout.addView(btnTag);
、データをフィルタリングし、私はに新しいのArrayListを作成していますについて
btnTag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
locationFilter(stringList,length);
}
});
ArrayList<CompanySearchResult> secondList = new ArrayList<CompanySearchResult>();
for (CompanySearchResult a : tempList) {
for (int k = 0; k < length; k++) {
if (a.getTownName.equalsIgnoreCase(stringList.get(k))) {
secondList.add(a);
}
}
}
tempList.clear();
tempList.addAll(secondList);
私が実際にやろうとしているのはフィルタリングですボタンがクリックされたときの町の名前による一時リスト。
私はこれについて調査しましたが、問題を解決できませんでした。誰かが私に何が間違っているのかを教えてもらえますか?どのようにリストをフィルタリングできますか?
あなたのリストは、実際にリストビューに入力されますか? TempListまたは他のリスト? –
ビューにtempListが設定されます。 – devgeek
その後、addAllを実行した後、notifyDataSetChanged()メソッドを呼び出しましたか? –