15

ListViewのアイテムにonClickListenerを設定したいのですが、2つのメソッドsetOnItemClickListenerとが表示されsetOnItemSelectedListenerます。私は公式文書でこれら2つの正当な説明を見つけませんでした。どれをどの目的に使用しますか?

アイテムを選択するには、ユーザーはアイテムをクリックする必要があります。その後、さまざまな方法を使用しますか?

4

5 に答える 5

22

のような

アイテムがクリックされる(単一選択)vsアイテムが選択される(複数選択で使用される)

于 2012-09-06T05:54:43.150 に答える
4

これらとメソッドの違いは、説明に示されています。

has been selected vs has been clicked

実際、違いはAndroid用語で選択されたものとクリックされたものの違いとまったく同じです。ハイライトのようなものを選択してください。ここで選択された状態に関する詳細な説明を参照してください(android:state_selectedの下)。クリックは、 Android用語で押されたものと同じであり、同じリンクの下でandroid:state_pressedの下に記述されています。

于 2012-09-06T05:50:53.877 に答える
3

必ずしも真実ではありません。キーボードまたは加速度計でナビゲートできるListViewを作成できます。また、アイテムをクリックすることは、それを選択することを意味する必要はありません。おそらく、何かを選択した後、他のイベントが発生するまで選択をブロックしたい場合です。

すべての目的で、アイテムの選択に反応したいsetOnItemSelectedListener場合はを使用しますが、ユーザーがそれらをクリックしたことに反応したい場合は、を使用しsetOnItemClickListenerます。

于 2012-09-06T05:45:42.673 に答える
0

OnItemSelectedListenerリスト内の項目がキーパッドのナビゲーションキーまたはタックボールを使用して選択されたときに呼び出されると思います。

于 2012-09-06T05:46:36.120 に答える
-1

よくわかりませんが、私の意見です。間違っているかもしれません。setOnItemClickListener:このAdapterViewのアイテムがクリックされたときに呼び出されるコールバックを登録します。常にtrueを返します。

setOnItemSelectedListener:このAdapterViewのアイテムがクリックされたときに呼び出されるコールバックを登録します。trueとfalseを返します。アイテムが選択されていない場合は、何も選択されていないことが表示されます。オプションを選択するのはユーザーに強制するだけです。アイテムを選択して、次にその種類を選択します。しかし、ユーザーがアイテムを選択するのを忘れた場合、ユーザーがオプションを選択しなかったことも覚えているでしょう。

于 2012-09-06T07:28:00.797 に答える