无法将片段添加到片段管理器
cannot add fragment to fragmentManager
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
Fragment fragmentHome, fragmentHome2;
FragmentManager fragmentManager;
private void setFragments() {
fragmentHome = new HomeFragment();
fragmentHome2 = new HomeFragment();
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().add(R.id.main_fragment_frame, fragmentHome).commit();
fragmentManager.beginTransaction().add(R.id.main_fragment_frame, fragmentHome2).commit();
Log.d(TAG, "added just ago: " + fragmentManager.getFragments().toString());
Log.d(TAG, "added size: " + fragmentManager.getFragments().size()+"");
}
但结果是:D/MainActivity: added just ago: []
D/MainActivity: added size: 0
为什么??我的代码有问题吗?
你的代码没有问题。一开始,会得到 empty。但是在另一个代码中,这将导致 没有片段 。我使用 BottomNavigationView。你应该在其他代码中写日志。
BottomNavigationView bottomnavigationview = findViewById(R.id.nav_view);
bottomnavigationview.setOnNavigationItemSelectedListener(menuItem -> {
switch (menuItem.getItemId()){
case R.id.navigation_home:
// This will result all fragments and size.
Log.d("Fragments ",fragmentManager.getFragments()+"" + fragmentManager.getFragments().size());
return true;
........//your code
}
}
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
Fragment fragmentHome, fragmentHome2;
FragmentManager fragmentManager;
private void setFragments() {
fragmentHome = new HomeFragment();
fragmentHome2 = new HomeFragment();
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().add(R.id.main_fragment_frame, fragmentHome).commit();
fragmentManager.beginTransaction().add(R.id.main_fragment_frame, fragmentHome2).commit();
Log.d(TAG, "added just ago: " + fragmentManager.getFragments().toString());
Log.d(TAG, "added size: " + fragmentManager.getFragments().size()+"");
}
但结果是:D/MainActivity: added just ago: []
D/MainActivity: added size: 0
为什么??我的代码有问题吗?
你的代码没有问题。一开始,会得到 empty。但是在另一个代码中,这将导致 没有片段 。我使用 BottomNavigationView。你应该在其他代码中写日志。
BottomNavigationView bottomnavigationview = findViewById(R.id.nav_view);
bottomnavigationview.setOnNavigationItemSelectedListener(menuItem -> {
switch (menuItem.getItemId()){
case R.id.navigation_home:
// This will result all fragments and size.
Log.d("Fragments ",fragmentManager.getFragments()+"" + fragmentManager.getFragments().size());
return true;
........//your code
}
}