ListViewのアイテムにonClickListenerを設定したいのですが、2つのメソッドsetOnItemClickListener
とが表示されsetOnItemSelectedListener
ます。私は公式文書でこれら2つの正当な説明を見つけませんでした。どれをどの目的に使用しますか?
アイテムを選択するには、ユーザーはアイテムをクリックする必要があります。その後、さまざまな方法を使用しますか?
ListViewのアイテムにonClickListenerを設定したいのですが、2つのメソッドsetOnItemClickListener
とが表示されsetOnItemSelectedListener
ます。私は公式文書でこれら2つの正当な説明を見つけませんでした。どれをどの目的に使用しますか?
アイテムを選択するには、ユーザーはアイテムをクリックする必要があります。その後、さまざまな方法を使用しますか?
のような
アイテムがクリックされる(単一選択)vsアイテムが選択される(複数選択で使用される)
これらとメソッドの違いは、説明に示されています。
has been selected vs has been clicked
実際、違いはAndroid用語で選択されたものとクリックされたものの違いとまったく同じです。ハイライトのようなものを選択してください。ここで選択された状態に関する詳細な説明を参照してください(android:state_selectedの下)。クリックは、 Android用語で押されたものと同じであり、同じリンクの下でandroid:state_pressedの下に記述されています。
必ずしも真実ではありません。キーボードまたは加速度計でナビゲートできるListViewを作成できます。また、アイテムをクリックすることは、それを選択することを意味する必要はありません。おそらく、何かを選択した後、他のイベントが発生するまで選択をブロックしたい場合です。
すべての目的で、アイテムの選択に反応したいsetOnItemSelectedListener
場合はを使用しますが、ユーザーがそれらをクリックしたことに反応したい場合は、を使用しsetOnItemClickListener
ます。
OnItemSelectedListener
リスト内の項目がキーパッドのナビゲーションキーまたはタックボールを使用して選択されたときに呼び出されると思います。
よくわかりませんが、私の意見です。間違っているかもしれません。setOnItemClickListener:このAdapterViewのアイテムがクリックされたときに呼び出されるコールバックを登録します。常にtrueを返します。
setOnItemSelectedListener:このAdapterViewのアイテムがクリックされたときに呼び出されるコールバックを登録します。trueとfalseを返します。アイテムが選択されていない場合は、何も選択されていないことが表示されます。オプションを選択するのはユーザーに強制するだけです。アイテムを選択して、次にその種類を選択します。しかし、ユーザーがアイテムを選択するのを忘れた場合、ユーザーがオプションを選択しなかったことも覚えているでしょう。