指定要在Android菜单xml中启动的活动

时间:2014-04-28 18:20:53

标签: android android-xml android-menu

如果我可以在菜单xml文件中指定要启动哪个Activity,而不是必须为使用此方法的每个类重写onOptionsItemSelected,那将会很棒。似乎可以采取一些措施来更优雅地实现这一点。有没有可以实现这一目标的解决方案?

2 个答案:

答案 0 :(得分:1)

我相信你想要的是ActionProvider

您将指定一个ActionProvider,该提供程序将实现您想要的任何操作,例如启动活动/发送意图

答案 1 :(得分:0)

您可以覆盖基本活动中的onOptionsItemSelected

public class MyActivity extends Activity {

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_launch_settings:
                //TODO Launch settings 
                return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

然后在您要启动的每个menu.xml文件中设置包括action_launch_settings

<item 
    android:id="@+id/action_launch_settings"
    android:title="Launch Settings"
    />