【问题标题】:How to add clickable menu drawer?如何添加可点击的菜单抽屉?
【发布时间】:2017-05-02 12:38:56
【问题描述】:

我有这段代码是为了创建一个菜单抽屉,但我不知道如何在菜单中单击按钮时切换布局。有人可以帮帮我吗?

我的其他 XML 文件是 xml1 和 xml2。

这是我的代码:

public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener, View.OnClickListener {

    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mToggle;
    private Toolbar mToolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mToolbar = (Toolbar) findViewById(R.id.Toolbar);
        setSupportActionBar(mToolbar);

        mDrawerLayout = (DrawerLayout) findViewById(R.id.DrawerLayout);
        mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.closed);
        mDrawerLayout.addDrawerListener(mToggle);
        mToggle.syncState();


        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        NavigationView nv = (NavigationView) findViewById(R.id.nav1);
        nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override public boolean onNavigationItemSelected(MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case (R.id.nav_sages):
                        Intent in = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity( in );
                    case (R.id.nav_Satz):
                        Intent int1 = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(int1);
                    case (R.id.nav_auserdem):
                        Intent in2 = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(in2);
                }

                return true;
            }
        });
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (mToggle.onOptionsItemSelected(item)) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

【问题讨论】:

    标签: android menu drawer


    【解决方案1】:

    嘿,你在这里做错了,

    Intent in = new Intent("here you need to mention your current 
    activity,getApplicationContext() works here no problem","and here you need to 
    mention 2nd activity, i.e., the activity which you want to navigate");
                startActivity(in);
    

    例如:考虑两个Activity MainActivity & Main2Activity; 所以现在如果你在 MainActivity 并且想要导航到 Main2Activity :代码如下

    Intent in = new Intent(getApplicationContext(),Main2Activity.class);
                startActivity(in);
    

    或者你也可以这样做:

    Intent in = new Intent(MainActivity.this,Main2Activity.class);
                startActivity(in);
    

    希望对你有帮助

    【讨论】:

    • 但是我需要创建一个新的活动还是我可以创建一个新的布局xml?
    • 你需要创建新的活动@Jessef
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2016-06-27
    相关资源
    最近更新 更多