Android系统。如何创建相同的上下文菜单以在所有活动中使用?

时间:2014-08-19 07:49:27

标签: android contextmenu

所有活动都有类似的“设置”按钮。 OnClick,我想显示上下文菜单。所有点击都是通过单独的方法处理的:

case Tags.TAG_SETTINGS://if settings button clicked
    a.registerForContextMenu(v);//a is activity
    a.openContextMenu(v);//v is view(settings button imageview)
    break;

我已经测试了它是否正常工作。在MainActivity中测试

@Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        Toast.makeText(MainActivity.this, "Yeah", Toast.LENGTH_LONG).show();
    }

这显示的是祝酒词“Yeah”。

我的问题是如何创建将在所有活动中使用的通用上下文菜单?

2 个答案:

答案 0 :(得分:1)

您可以创建基本活动并在那里实施。如果需要上下文菜单,所有其他活动都可以扩展您的基本活动。

答案 1 :(得分:1)

您可以创建Activity的子类,然后将所有活动都设为一个类。然后,您可以在该类中实现常用的上下文菜单。 e.g。

public class BaseActivity extends FragmentActivity
{
    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
       //common logic for menu
    }
}

然后,您将创建扩展基本活动而非活动的活动。