コンテキストメニューは、ビューを長押しした時にポップアップされるアレのことです。 
Windowsだと右クリックで出てくるヤツですね。
やることは以下の通り。
registerForContextMenu() でビューを登録
onCreateContextMenu() をオーバーライドしてコンテキストメニューを作成
onContextItemSelected() をオーバーライドしてコンテキストメニュー選択時の動作を記述
01 public class SampleActivity extends Activity {
02
03     /** リストビューに表示するアイテム. */
04     private List<String> list;
05
06     @Override
07     public void onCreate(Bundle savedInstanceState) {
08         super.onCreate(savedInstanceState);
09         setContentView(R.layout.main);
10
11         // リストビューに表示するリストを作成
12         list = new ArrayList<String>();
13         list.add("Test 001");
14         list.add("Test 002");
15         list.add("Test 003");
16         list.add("Test 004");
17         list.add("Test 005");
18
19         // アダプタを作成
20         ListAdapter adapter = new ArrayAdapter<String>(
21                 this,
22                 android.R.layout.simple_list_item_1,
23                 list
24         );
25
26         // リストビューにアダプタを設定
27         ListView listView = (ListView) findViewById(R.id.ListView);
28         listView.setAdapter(adapter);
29
30         // コンテキストメニューのためにリストビューを登録
31         registerForContextMenu(listView);
32     }
33
34     @Override
35     public void onCreateContextMenu(
36             ContextMenu menu,
37             View v,
38             ContextMenuInfo menuInfo) {
39
40         // コンテキストメニューを作る
41         menu.setHeaderTitle("たいとる");
42         menu.add("めにゅ?1");
43         menu.add("めにゅ?2");
44         menu.add("めにゅ?3");
45
46         super.onCreateContextMenu(menu, v, menuInfo);
47     }
48
49     @Override
50     public boolean onContextItemSelected(MenuItem item) {
51         // 選択されたヤツをテキストビューに設定する
52         TextView textView = (TextView) findViewById(R.id.TextView);
53         textView.setText("selected: " + item.getTitle());
54
55         return super.onContextItemSelected(item);
56     }
57 }
0 件のコメント:
コメントを投稿