Contextmenu没有显示出来

时间:2011-05-13 20:51:14

标签: android 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);
    }
}

我现在所需要的只是做这项工作。 谢谢!

2 个答案:

答案 0 :(得分:1)

我不确定这是否有帮助,但也许这就是你要找的东西:
Context menu for long clicks

希望有所帮助:)

// Gerner

答案 1 :(得分:0)

最后问题真的很傻。 A错误地拼写了“onCreateContextMenu”函数。不管怎样,谢谢!