我认为相关的两个问题。
背景:我有三个底部导航项,它们导致其他布局和活动;其中之一是“家”。
在 Home 中,执行 onClick 时,会打开选定的活动和布局,但选定的图标仅在单击时突出显示,然后突出显示 Home。如果再次按下,则会突出显示选定的布局图标。如何使图标在第一次单击时突出显示?
主页还有其他三个按钮可以进行其他活动。当选择Home时,返回Home需要相当长的时间。为什么会这样?其他活动/布局目前为空。我需要在后台运行服务吗? Home Java/Activity代码并没有那么长,但是返回却需要很长时间。
真的很感激一些想法。也许答案是碎片,但不确定这是否能解决第一个问题?
我已经包含了用于从主页进行底部导航的代码。
问候,
爱德华
附:我一个月前才开始使用 Java 和 Android Studio。
//Declare navigation view ID (bottomnav_view) in content_main
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomnav_view);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.ic_home: break;
case R.id.ic_instruments:
Intent intentinstruments = new Intent(MainActivity.this, InstrumentListActivity.class);
startActivity(intentinstruments);
break;
case R.id.ic_methods:
Intent intentmethods = new Intent(MainActivity.this, MethodsActivity.class);
startActivity(intentmethods);
break;
}
return true;
}
});
//End of bottom hav handler
实施时片段始终是首选
底部导航视图。
试试这个方法。
bottomNavigationView.setOnNavigationItemSelectedListener(new
BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()){
case R.id.navigation_News:
selectedFragment = ItemoneFragment.newInstance();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content,selectedFragment);
transaction.addToBackStack(null);
transaction.commit();
return true;
case R.id.navigation_profile:
selectedFragment = ItemtwoFragment.newInstance();
transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content,selectedFragment);
transaction.addToBackStack(null);
transaction.commit();
return true;
}
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content, selectedFragment);
transaction.commit();
return true;
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)