2011-05-13 46 views
0

我试图用按钮创建ContextMenu。出于某种原因,它不起作用。任何人都可以告诉我我的代码有什么问题吗?Contextmenu不显示

这是picture_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:id="@+id/take_from_gallery" 
    android:title="@string/str_take_from_gallery"/> 
    <item 
    android:id="@+id/take_picture" 
    android:title="@string/str_take_picture"/> 
    <item 
    android:id="@+id/delete_picture" 
    android:title="@string/str_delete_picture"/>  
</menu> 

,这是Java代码:

camera_button= new Button(this); 
camera_button.setLongClickable(true); 
registerForContextMenu(camera_button); 

public void onCreateContextmenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) 
{ 
    MenuInflater inflater= getMenuInflater(); 
    inflater.inflate(R.menu.picture_menu, menu); 
    super.onCreateContextMenu(menu, v, menuInfo); 
} 

public boolean onContextItemSelected(MenuItem item) 
{ 
    AdapterContextMenuInfo info= (AdapterContextMenuInfo) item.getMenuInfo(); 
    switch (item.getItemId()) 
    { 
    case R.id.take_from_gallery: 
     return true; 
    case R.id.take_picture: 
     return true; 
    case R.id.delete_picture: 
     return true; 
    default: 
     return super.onContextItemSelected(item); 
    } 
} 

所有我现在需要的是使这项工作。 谢谢!

回答

0

最后的问题真的很傻。 A是错误的“onCreateContextMenu”函数。不管怎么说,还是要谢谢你!

1

我不知道这是否可以帮助,但也许这是你找什么:
Context menu for long clicks

希望它能帮助:)

// Gerner

+0

我不使用ListView,只是想在我点击一个按钮时弹出一个ContextMenu。谢谢! –

相关问题