2

Googleのこの例を見ました。これAutoCompleteTextViewは、オートコンプリートの候補を取得するためにAPIへのネットワーク呼び出しを行うアダプターです。

使用AsynkTaskもスレッドもしませんがStrictMode、インターネットに接続していないときに警告を表示したりUIをロックしたりすることはなく、なぜだろうと思います。

ArrayAdapterそれ自体は非同期ですか?

4

2 に答える 2

5

フィルタリングは非同期で実行されます。

呼び出しによって実行されるフィルタリング操作は、filter(CharSequence)非同期filter(CharSequence, android.widget.Filter.FilterListener)で実行されます。これらのメソッドが呼び出されると、フィルタリング要求が要求キューにポストされ、後で処理されます。これらのメソッドのいずれかを呼び出すと、以前に実行されていないフィルタリング要求がキャンセルされます。

于 2013-03-04T10:57:27.787 に答える
1

これまでの基本Adapterクラス ( を含む) には、データ フェッチメカニズムArrayAdapterは含まれていません。経由でデータを設定する必要があります。add()

説明されているオートコンプリートの方法では、フィルタリングを使用しています。ArrayAdapter実装しFilterableます。この特定の実装では、フィルタリング メソッドを別のスレッドで実行します。ここでソースを見ることができます。

于 2013-03-04T11:00:29.953 に答える