gpt4 book ai didi

java - 无法检查底部导航 View 项目

转载 作者:搜寻专家 更新时间:2023-11-01 09:26:02 25 4
gpt4 key购买 nike

我有两个名为“MainActivity”和“LibraryActivity”的 Activity 。这两个 Activity 使用相同的“底部导航 View ”。在这种情况下,我设法选择了正确的项目(用不同的颜色突出显示) Intent 调用“LibraryActivity”。问题是通过使用“LibraryActivity”底部的“onBackPressed()”回到“MainActivity”,“导航 View ”项目未以不同的颜色突出显示。

下面是我的代码:

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

context = this;

bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);

// used to highlight the correct item

Menu bottomMenu = bottomNavigationView.getMenu();
for (int i=0; i<bottomMenu.size(); i++)
{
MenuItem bottomMenuItem = bottomMenu.getItem(0);
bottomMenuItem.setChecked(true);
}

// item click listener

bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_library:
Intent intent = new Intent(getApplicationContext(), LibraryActivity.class);
intent.putExtra("NUM", "0");
startActivity(intent);

break;
}
return true;
}
});

}

LibraryActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_library);

context = this;

bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottom_navigation);
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);

// used to highlight the correct item

Menu bottomMenu = bottomNavigationView.getMenu();
for (int i=0; i<bottomMenu.size(); i++)
{
MenuItem bottomMenuItem = bottomMenu.getItem(1);
bottomMenuItem.setChecked(true);
}

// item click listener

bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.action_for_you:
onBackPressed();

break;

return true;
}
});

}

@Override
public void onBackPressed() {
super.onBackPressed();
}

最佳答案

接受这段代码,

   Menu bottomMenu = bottomNavigationView.getMenu();
for (int i=0; i<bottomMenu.size(); i++)
{
MenuItem bottomMenuItem = bottomMenu.getItem(0);
bottomMenuItem.setChecked(true);
}

把它放在这里,

@Override
protected void onResume() {
super.onResume();
Menu bottomMenu = bottomNavigationView.getMenu();
for (int i=0; i<bottomMenu.size(); i++)
{
MenuItem bottomMenuItem = bottomMenu.getItem(0);
bottomMenuItem.setChecked(true);
}
}

以便在其他 Activity 完成并且当前 Activity 恢复后恢复时更新。

关于java - 无法检查底部导航 View 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50617348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com