【发布时间】:2019-10-27 00:09:44
【问题描述】:
我想通过单击活动中的按钮转到主屏幕。问题是HomeActivity有BottomNavigation,分成4个片段 我不想显示第一个“HomeFragment” 我想展示的片段是 ProfileFragment 如何让 ProfileFragment 屏幕出现?
我已经搜索过了,但在我的情况下有点不同
这是我的 A 活动
backTo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(PetHotelActivity.this, HomeActivity.class);
startActivity(intent);
}
});
这是我的家庭活动
public class HomeActivity extends AppCompatActivity {
BottomNavigationView bottomNavigationView;
Fragment seletedFragment = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(navigationItemSelectedListener);
Bundle intent = getIntent().getExtras();
if (intent != null){
String publisher = intent.getString("publisherid");
SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edit();
editor.putString("profileid", publisher);
editor.apply();
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new ProfileFragment()).commit();
} else{
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new HomeFragment()).commit();
}
}
private BottomNavigationView.OnNavigationItemSelectedListener navigationItemSelectedListener =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.nav_bottomBar_home:
seletedFragment = new HomeFragment();
break;
case R.id.nav_bottomBar_search:
seletedFragment = new SearchFragment();
break;
case R.id.nav_bottomBar_notification:
seletedFragment = new NotificationFragment();
break;
case R.id.nav_bottomBar_profile:
SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edit();
editor.putString("profileid", FirebaseAuth.getInstance().getCurrentUser().getUid());
editor.apply();
seletedFragment = new ProfileFragment();
break;
}
if (seletedFragment != null){
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, seletedFragment).commit();
}
return true;
}
};
我想从 A 活动移动到显示 ProfileFragment 我怎样才能做到这一点? 在那种情况下,当我单击按钮时 移至 HomeFragment...
【问题讨论】: