Android 从弹出菜单项打开新活动

Android 从弹出菜单项打开新活动,android,Android,我有一个弹出菜单,点击操作栏按钮。当我点击操作栏按钮时,我得到了我的弹出窗口。但我想点击弹出菜单项打开另一个活动。我怎么能这么做 下面是我的代码片段 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu);

我有一个弹出菜单,点击操作栏按钮。当我点击操作栏按钮时,我得到了我的弹出窗口。但我想点击弹出菜单项打开另一个活动。我怎么能这么做

下面是我的代码片段

@Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main, menu);
            return true;
        }
        @SuppressLint("NewApi") @Override
        public boolean onOptionsItemSelected(MenuItem item) {

            View menuItemView = findViewById(R.id.action_button); 
            PopupMenu popupMenu = new PopupMenu(this, menuItemView); 
            popupMenu.inflate(R.menu.popup);
            popupMenu.show();         
            return true;
    }
我的弹出菜单如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <item
        android:id="@+id/one"
        android:title="About"
        android:visible="true"
        android:showAsAction="ifRoom|withText"/>

    <item
        android:id="@+id/two"
        android:title="Contact Us"
        android:visible="true"
        android:showAsAction="ifRoom|withText"/>

</menu>

我想做的是,当我点击这些菜单项时,必须打开另一个活动。我怎么能这么做?
谁能帮帮我吗。提前感谢。

要在弹出菜单上打开“活动”,请单击:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()) {
        case R.id.menu_item1:
            Intent intent = new Intent(this, ActivityForItemOne.class);
            this.startActivity(intent);
            break;
        case R.id.menu_item2:
            // another startActivity, this is for item with id "menu_item2"
            break;
        default:
            return super.onOptionsItemSelected(item);
        }

        return true;
    }
试试这个

popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {

                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        Toast.makeText(getApplicationContext(),
                                item.getTitle(), Toast.LENGTH_SHORT).show();
                        return true;
                    }
                });

使用带有菜单项id的switch语句,使用id启动“活动”

  @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
        case R.id.one:
            Intent intent1 =new Intent(this,ActivityOne.class);//firstActivity
            startActivity(intent1);
            return true;
        case R.id.two:
            Intent intent2 =new Intent(this,ActivityTwo.class);//second Activity
            startActivity(intent2);
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }

但如果我这样做了,我将如何从操作栏按钮打开弹出菜单?但是如果我这样做了,我将如何从操作栏按钮打开弹出菜单?公共布尔onCreateOptions菜单(菜单菜单菜单){MenuInflater充气器=getMenuInflater();充气器。充气器(R.menu.main,菜单);我使用了公共布尔onCreateOptions菜单(菜单菜单){MenuInflater inflater=getMenuInflater();inflater.inflate(R.Menu.main,Menu);return true;}用于创建操作栏按钮,而不是创建菜单。代码的下一部分将仅打开弹出菜单。