【发布时间】:2014-07-17 22:39:21
【问题描述】:
我为我的 ListView 使用扩展 CursorAdapter 的自定义适配器。在我调用registerForContextMenu(lw)的onCreate()方法中,onCreateContextMenu()成功创建了ListView的上下文菜单,但是在单击菜单项后onContextItemSelected()方法没有被调用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
linlay = (LinearLayout) findViewById(R.id.activity_list);
lw = new ListView(this);
lw.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
linlay.addView(lw);
//some operations for init adapter;
lw.setAdapter(adapter);
registerForContextMenu(lw);
}
菜单创建:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
switch (code) {
case C.modeFriends:
menu.add(0, 10, 0, R.string.action_change_birthday);
menu.add(0, 11, 0, R.string.action_change_template);
break;
case C.modeTemplate:
menu.add(0, 20, 0, R.string.action_edit);
menu.add(0, 21, 0, R.string.action_delete);
break;
}
菜单项选择:
@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
switch(item.getItemId(){
case 10:
break;
case 11:
break;
case 20:
break;
case 21:
break;
}
}
在自定义 CursorAdapter 中,我重写了 newView() 和 bindView() 方法。
附: Activity 类扩展了 ActionBarActivity 类。
P.S.2 我设置了一个断点,但是调试器从来没有在这个断点处停止过。
【问题讨论】:
-
你能放一些代码吗?
-
@Mehul Shah,你可以看到我的部分代码。
标签: android listview menu android-cursoradapter