0

私はAndroidが初めてです。アイテムのリストがあり、単一のコンテキスト メニューを各リスト アイテムに関連付けようとしています。setListAdapteronListItemClickを設定しましたが、リスト項目をクリックすると、常に同じコンテキスト メニューが表示されます。

理想的には、リスト項目 A をクリックするとメニュー A がトリガーされ、リスト項目 B がメニュー B を取得する必要があります。その方法がわかりません。その方法を学ぶために使用できるサンプルコードを見つけるのを手伝ってくれる人はいますか?

4

2 に答える 2

4

この手法を示すサンプル コードはありません。私の最良の例は、コンサルティング クライアントに対して行ったものです。

ただし、コンテキスト メニューを使用するこのサンプル プロジェクトを紹介し、この説明の基礎として使用します。

カスタマイズしたメニューを に戻す必要がありますonCreateContextMenu()。ここで常に同じメニューを返すと、常に同じメニューが表示されます。どのメニューを表示するかを決定するには、どのリスト項目がロングタップされたかを知る必要があります。のコンテキスト メニューの場合、提供されたを にListViewキャストできます。そのオブジェクトは、ロングタップされたリスト内のアイテムの位置と位置を教えてくれるので、適切なメニューを選択できます。ContextMenu.ContextMenuInfoonCreateContextMenu()AdapterView.AdapterContextMenuInfo_ID

上記のリンクのサンプル コードでは、そのキャストをonContextItemSelected()で行っているため、ユーザーがどのアイテムを削除しているかを知ることができます。ただし、同じキャストが で機能しonCreateContextMenu()ます。

于 2009-12-24T16:15:06.913 に答える
1

Android チームは最近、多数の新しいサンプルをリリースしました。あなたがやろうとしていることは、ここに優れた例があると思います。

于 2009-12-24T16:24:26.380 に答える