2012-11-27 49 views
0

我是相当新的java android编程,我有一个问题可能很容易回答,但我无法确定eclipse编译错误消息意味着什么。Android的ListActivity编译错误

类运行正常,除非删除了块注释在下面代码onContextItemSelected,我得到这个编译错误:类型的

的方法onContextItemSelected(菜单项)新View.OnCreateContextMenuListener(){}必须覆盖或实施超类型方法

我在做什么错或在这里失踪?谢谢。

代码

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

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

onContextItemSelectedActivity的方法。在您的Activity中覆盖它。

+0

我的课程扩展ListActivity,我该怎么做? – Mike

+0

如果仔细观察,您会发现ListActivity扩展了Activity,因此它也可以工作。 – njzk2

+0

这可能吗? – Mike