Android AutoCompleTeTextViewと編集可能なスピナー
-
22-09-2019 - |
質問
私のシナリオは次のとおりです。2つの列が私にとって興味深いデータベースを持っています。これで、AutoCompleTeTextViewを作成しました。ここでは、SQLを介して1つの列のエントリを介してアダプターGEHTSを作成しました。
これまでのところ...とても良いですが、私が実際に望んでいるのは、ユーザーがSTHを入力した場合です。 AutoCompleteFieldに私はこれに気づき、テキストを取得します。 sql経由で私は今、エヴァーのエントリーを取得したい 列2 ここで、列1の値が入力されたテキストに含まれています。このリストはアダプターに表示する必要があります。言い換えれば、私はSQLを介して自分でデータをフィルタリングしますが、それらをアダプターに表示してほしいです。問題は, 、アダプターには、AutoCompleteFieldのテキストから始まるエントリのみが表示されますが、Adapterをいつでも表示したいと思います。これを解決する方法はありますか? AutoCompleTeTextViewは使用するのに適したアイテムですか?
また、シンプルなスピナーを使用することも考えました...しかし、スピナーを使用する場合、2つの主な問題があります。最初に私は彼を編集しなければなりません。次に、「ポップアップ」の代わりにドロップダウンが必要になります。 ...
この問題を解決するための私のもう1つのアイデアは、オートコンプリートフィールドの独自のフィルターを書くことです...しかし、私はこれまでこれをダウンしたことがなく、インターネットでそうする例を見つけることができませんでした。
ご協力いただきありがとうございます
解決
SpinnerのArrayAdapterメソッドを変更し、カスタムスピナーを手に入れました。このメソッドのパラメーターを次のように変更するだけです
Spinner spinner = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(This,R.array.statename,R.layout.mylayout);
spinner.setAdapter(adp);
MyLayoutファイルには含まれています
<EditText
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/spinnerTarget"
android:textColor="#FF8B1500"
android:gravity="center"
>
他のヒント
以下に示すように、AutoCompleTeTextViewを使用して、SQLiteまたはString Arrayからの値にアダプターを設定できます。
String values[]= {"Orange","Apple","Pineapple"};
AutoCompleteTextView text=(AutoCompleteTextView)findViewById(R.id.a1);
text.setAdapter(new ArrayAdapter<String>
(this,android.R.layout.simple_dropdown_item_1line,values));
詳細については、に進んでください 開発者サイト