こんにちはみんなは私のコードbackstack
navigationView.setNavigationItemSelectedListener(new NavigationView .OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { if (item.isChecked()) { //item already selected. Do nothing drawerLayout.closeDrawer(GravityCompat.START); return true; } switch (item.getItemId()) { case R.id.home: FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction(); transaction.replace(R.id.fragment, new HomeFragment()) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit(); break; case R.id.other: transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment, new OtherFragment()) .addToBackStack(null).setTransition(FragmentTransaction .TRANSIT_FRAGMENT_FADE).commit(); break; default: break; } drawerLayout.closeDrawer(GravityCompat.START); return true; } });
である私は、基本的には唯一の2つの断片を持っており、単にHomeFragmentはbackstackに追加する必要があります。 HomeFragmentとOtherFragmentをしばらく切り替えてHomeFragment上に戻るボタンをクリックすると、HomeFragmentが何度か表示されてしまいます。 HomeFragmentにはrecyclerviewがあります。上下にスクロールすると、行が複数回表示されることが実際に分かります。 HomeFragmentがバックスタックに一度だけ追加されていることを確認する方法を教えてください。
おかげ
偉大な答えは@janzonerありがとうございます。それは魅力として働く。私のrecyclerViewは常にデータを表示していません。時々それはちょうど空であるansをするいくつか。奇妙な – DeKekem
あなたは大歓迎です。私はあなたのRecyclerViewでこの問題を解決することを願っています。そうでない場合は、StackOverflowのヘルプをもう一度お試しください。 – janzoner