导航抽屉不导航

问题描述 投票:-2回答:1

我已经创建了一个导航抽屉,我不想使用片段而是使用活动。我添加了这个代码,这个代码在我看过的很多教程中都有效。

public boolean onNavigationItemSelected( MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    switch (id) {

        case R.id.Daily: {
            Intent h= new Intent(goals.this, Daily.class );
            startActivity(h);
            break;
        }
    }
    //close navigation drawer
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
    drawer.closeDrawer(GravityCompat.START);
    return true;

}

每当我点击页面我想导航到。抽屉关闭,没有其他事情发生。我只是一个初学者,所以我不知道如何继续。我已经看了大约10个教程,这就是他们说的工作,但它没有,我不知道为什么。 onNavigationItemSelected方法下面有一条灰线,表示该方法尚未使用。

java android
1个回答
1
投票

你的Activity需要实现NavigationView.OnNavigationItemSelectedListener,你必须为你的NavigationDrawer设置监听器。这样的事情应该有效:

public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ...
        NavigationView navigationView = findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
        // rest of code
    }
}

编辑:您的NavigationViewer的XML中的GoalsActivity应如下所示:

<android.support.design.widget.NavigationView
    android:id="navigationView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#414E68"
    app:itemIconTint="#FFFFFF"
    app:headerLayout="@layout/header_profile"
    app:itemTextColor="@android:color/background_light"
    app:menu="@menu/drawermenu">

此外,将其添加到GoalsActivity.java方法中的onCreate()

NavigationView navigationView = findViewById(R.id.navigationView);
    navigationView.setNavigationItemSelectedListener(this);
© www.soinside.com 2019 - 2024. All rights reserved.