0

我对 java android 编程很陌生,我有一个可能很容易回答的问题,但我不知道 eclipse 编译错误消息意味着什么。

该类运行良好,除非我删除下面onContextItemSelected代码中的块注释,否则会出现以下编译错误:

new 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;
            };
            */                      
       });
    }
}
4

1 回答 1

1

根据文档,onContextItemSelected不是OnCreateContextMenuListener. 这意味着您不能覆盖它。

onContextItemSelected是一种方法Activity。在你的Activity.

于 2012-11-27T08:26:30.157 回答