Android ListActivity编译错误

时间:2012-11-27 08:20:34

标签: java android android-listview

我对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;
            };
            */                      
       });
    }
}

1 个答案:

答案 0 :(得分:1)

根据文档,onContextItemSelected不是OnCreateContextMenuListener的方法。这意味着你无法覆盖它。

onContextItemSelectedActivity的一种方法。在Activity

中覆盖它