0

これが私のシナリオです。2つの列が私にとって興味深いデータベースがあります。ここで、アダプタがSQLを介して1つの列のエントリを取得するautocompletetextviewを作成しました。

これまでのところ...とても良いですが、私が実際に欲しいのは、ユーザーがsthと入力した場合です。autocompletefieldに、これに気づき、テキストをフェッチします。SQLを介して、列1の値が入力されたテキストに含まれている列2のevereyエントリを取得したいと思います。そして、このリストはアダプタに表示されます。言い換えれば、私はsqlを介して自分でデータをフィルタリングしますが、それらをアダプターに表示したいと思います。 問題は、アダプタがautocompleteフィールドのテキストで始まるエントリのみを表示することですが、すでに述べたように、いつでもアダプタを表示したいと思います。データを自分でフィルタリングし、アダプタに表示させたいだけです。これを解決する方法はありますか?AutocompleteTextViewは使用するのに適切なアイテムですか?

シンプルなスピナーの使用も考えましたが、スピナーを使用する場合、2つの大きな問題があります。まず、彼を編集可能にする必要があります。次に、「ポップアップ」の代わりにドロップダウンが必要になります。..。

この問題を解決するための私のもう1つのアイデアは、オートコンプリートフィールド用の独自のフィルターを作成することです...しかし、これまでこれを実行したことはなく、インターネットでこれを実行する例も見つかりませんでした。

ご協力いただきありがとうございます

4

2 に答える 2

1

スピナーの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"
>
于 2010-09-10T12:43:01.743 に答える
1

以下に示すように、autocompleteTextView を使用して、そのアダプターを SQLite または文字列配列からの値に設定できます。

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));

詳細については、開発者サイトにアクセスしてください

于 2012-07-07T09:42:26.570 に答える