Извините за мой плохой английский.Но с чтением проблем нет.
Если я добавлю фрагмент, предыдущий исчезнет.
Я не знаю, в чем проблема.
Когда янажмите клавишу «Назад», основное действие заканчивается.
Фрагмент, который я хочу добавить к основному действию
holder.post_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences.Editor editor = mContext.getSharedPreferences("PREFS", MODE_PRIVATE).edit();
editor.putString("postid", post.getPostid());
editor.apply();
((FragmentActivity)mContext).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new PostDetailFragment()).addToBackStack(null).commit();
}
});
Основное действие
Я думаю ...
Что-то должно быть не так с BottomNavigationView или onBackPressed ().
BottomNavigationView bottom_navigation;
Fragment selectedfragment = null;
private long time = 0;
public static Activity _MainActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_MainActivity = MainActivity.this;
bottom_navigation = findViewById(R.id.bottom_navigation);
bottom_navigation.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()).addToBackStack(null).commit();
} else {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new HomeFragment()).addToBackStack(null).commit();
}
}
@Override
public void onBackPressed() {
if (System.currentTimeMillis() - this.time >= 2000) {
this.time = System.currentTimeMillis();
Toast.makeText(getApplicationContext(), "Press back again to leave", Toast.LENGTH_LONG).show();
} else if (System.currentTimeMillis() - this.time < 2000) {
finish();
}
}
public BottomNavigationView.OnNavigationItemSelectedListener navigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.nav_home:
selectedfragment = new HomeFragment();
break;
case R.id.nav_search:
selectedfragment = new SearchFragment();
break;
case R.id.nav_add:
selectedfragment = null;
startActivity(new Intent(MainActivity.this, PostActivity.class));
break;
case R.id.nav_heart:
selectedfragment = new NotificationFragment();
break;
case R.id.nav_profile:
SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edit();
editor.putString("profileid", FirebaseAuth.getInstance().getCurrentUser().getUid());
editor.apply();
selectedfragment = new ProfileFragment();
break;
}
if (selectedfragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
selectedfragment).addToBackStack(null).commit(); }
return true;
}
};
}