私は、ユーザーが何かを入力したときにデータをフィルタリングするシナリオを持っています。 私はSpinnerを現在使用していますが、ユーザーはスピナー自体にデータを書き込むことができ、実行時にデータがフィルタリングされる必要があります。私は欲しいものに似た何かを見つけることができません。Spinnerのフィルタを追加し、スピナー自体にデータをフィルタリングする
以下の画像と同様のものです(ASP.netで使用されているRadcomboBoxの例です)。
私は、ユーザーが何かを入力したときにデータをフィルタリングするシナリオを持っています。 私はSpinnerを現在使用していますが、ユーザーはスピナー自体にデータを書き込むことができ、実行時にデータがフィルタリングされる必要があります。私は欲しいものに似た何かを見つけることができません。Spinnerのフィルタを追加し、スピナー自体にデータをフィルタリングする
以下の画像と同様のものです(ASP.netで使用されているRadcomboBoxの例です)。
あなたは、あなたがそのリストビューあたりとしてのEditTextボックスに入力したときEDITTEXTとリストビュー
を使用してデータをrefeshすることを達成することができます。 イニシャルArrayList<String> Citylist
の読み込みをCityAdapter
に以下のコードのように考えてください。あなたがデータを更新しますのEditTextボックスのリストビューに入力すると
CityAdapter adapter = new CityAdapter(getActivity(), R.layout.customlayout, Citylist);
listview.setAdapter(adapter);
-
public ArrayList<String> getFilter(CharSequence charSequence)
{
ArrayList<String> filterResultsData = new ArrayList<String>();;
if(charSequence == null || charSequence.length() == 0)
{
return null;
}
else
{
for(String data : Citylist)
{
//In this loop, you'll filter through originalData and compare each item to charSequence.
//If you find a match, add it to your new ArrayList
//I'm not sure how you're going to do comparison, so you'll need to fill out this conditional
if(data.toLowerCase().contains(charSequence))
{
filterResultsData.add(data);
}
}
}
return filterResultsData;
}
私はこのアプローチを考えていましたが、リストビューには多くのデータが含まれていましたが、リストビューには大量のUIスペースが消費されるため、スピナーやその他のアプローチを使用しないようにしました。 –
の代わりに、ユーザーがボタンをクリックすると、EditTextとListviewを含むカスタムレイアウトでカスタムalerDialogを表示できます。 –
さて、私はそれを試してみましょう。 –
その良く使用する_AutoCompleteTextView_ –
[AutoCompleteTextView]( -
リストビューフィルタ機能は以下の通りであるコードの下に使用しますhttp://developer.android.com/reference/android/widget/AutoCompleteTextView.html) –
AutoCompleteTextViewを使用する方がよいでしょう。 この場合、afterTextChangedListenerを使用して、そのときのテキストを使用して、ドロップダウンにデータを入力するリストからデータをフィルタリングできます。 – Anshul