我有一个具有navigationView和toolbar的活动(我手动设置了工具栏名)。
我的问题是,当我打开navigationView时,它就会退出活动,回到以前的活动。
我尝试了很多方法来发现这个问题,我发现当我不使用这一行时,问题已经解决了,导航菜单打开了,没有任何问题。
setSupportActionBar(toolbar);我不知道是哪一个问题?工具栏还是导航?
注:风格没有什么特别之处。
活性:
Toolbar toolbar = findViewById (R.id.toolbar_StudentList);
setSupportActionBar(toolbar);//Set actionBar with toolbar
if(getSupportActionBar() != null)
{
getSupportActionBar().setDisplayShowTitleEnabled(false);//Remove actionBar title
toolbar.setTitle(mClassEntry.getClassName());
}
DrawerLayout drawer = findViewById (R.id.drawerLayout_StudentList);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this , drawer , toolbar , 0b0, 0);
toggle.syncState();
NavigationView drawerItems = findViewById (R.id.navigationView_StudentList);
drawerItems.setNavigationItemSelectedListener(item -> {
.
.
.
}Xml :
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.user.classmanager.StudentActivity"
android:id="@+id/drawerLayout_StudentList"
style="@style/DrawerLayout_all"
>
<FrameLayout
android:id="@+id/frameLayout_StudentList"
style="@style/Width_height_all_both_matchParent"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_StudentList"
style="@style/ToolBar_all"
/>
<RelativeLayout
style="@style/RelativeLayout_searchView_all"
>
<android.support.v7.widget.SearchView
android:id="@+id/searchView_StudentList"
style="@style/SearchView_all"
/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView_StudentList"
style="@style/RecyclerView_FrameLayout_all"
/>
</FrameLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigationView_StudentList"
style="@style/NavigationView_StudentList"
/>
</android.support.v4.widget.DrawerLayout>还有一个关闭活动的图标:
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.toolbar_backicon, menu);//Back item in Toolbar
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item)
{
finish();//close activity
return super.onOptionsItemSelected(item);
}发布于 2019-08-24 11:53:59
在……里面
public boolean onOptionsItemSelected(MenuItem item)
{
finish();//close activity
return super.onOptionsItemSelected(item);
}必须指定“关闭”按钮的id,以便仅在单击“关闭”按钮上的图标时活动才会关闭。在这种情况下,您的活动每次都会关闭,因此必须将代码替换为如下所示
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getId()==R.id.closeButton)
{ finish();//close activity
return true;
}
return super.onOptionsItemSelected(item);
}https://stackoverflow.com/questions/57635987
复制相似问题