我对java android编程很新,我有一个可能很容易回答的问题,但是我无法想象eclipse编译错误信息意味着什么。
该类运行正常,除非我在下面的 onContextItemSelected 代码中删除了块注释,我得到了这个编译错误:
新的View.OnCreateContextMenuListener(){}类型的onContextItemSelected(MenuItem)方法必须覆盖或实现超类型方法
我做错了什么或在这里失踪了?感谢。
代码
public class ListTest<registerForContextMenu> extends ListActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values));
listView = getListView();
// I populate the list view here
listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(android.view.ContextMenu menu, View v, android.view.ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderIcon(R.drawable.ic_launcher);
menu.setHeaderTitle(R.string.context_menu_options);
menu.add(0, 0, 0, R.string.context_menu_reply);
menu.add(0, 0, 0, R.string.context_menu_delete);
menu.add(0, 0, 0, R.string.context_menu_cancel);
};
/*
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
int index = info.position;
return true;
};
*/
});
}
}
答案 0 :(得分:1)
根据文档,onContextItemSelected
不是OnCreateContextMenuListener
的方法。这意味着你无法覆盖它。
onContextItemSelected
是Activity
的一种方法。在Activity
。