我有一个正常工作的BottomMenu。问题是,如果我想通过Buttonclick从其中一个菜单片段切换到新的片段(switchtoallstudies()方法),它将只切换到空白区域。 我该如何解决这个问题?
public class Dashboard extends AppCompatActivity {
private TextView mTextMessage;
private AHBottomNavigation bottomNavigation;
private NoSwipePager viewPager;
private BottomBarAdapter pagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
setupViewPager();
bottomNavigation = (AHBottomNavigation) findViewById(R.id.bottom_navigation);
addBottomNavigationItems();
setBottomNavigationStyle();
bottomNavigation.setCurrentItem(0);
bottomNavigation.setOnTabSelectedListener(new AHBottomNavigation.OnTabSelectedListener() {
@Override
public boolean onTabSelected (int position, boolean wasSelected) {
if (!wasSelected)
viewPager.setCurrentItem(position);
return true;
}
});
}
public void switchtoallstudies(){
//getAlllStudies
Frag_alle_studien fragallestudien = new Frag_alle_studien();
//start up fragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragdashcontainer, fragallestudien).commit();
}
private void setupViewPager() {
viewPager = (NoSwipePager) findViewById(R.id.fragdashcontainer);
viewPager.setPagingEnabled(false);
pagerAdapter = new BottomBarAdapter(getSupportFragmentManager());
pagerAdapter.addFragments(new Frag_Startseite());
pagerAdapter.addFragments(new Frag_Frageboegen());
pagerAdapter.addFragments(new Frag_Studien());
pagerAdapter.addFragments(new Frag_Ergebnisse());
pagerAdapter.addFragments(new Frag_Einstellungen());
viewPager.setAdapter(pagerAdapter);
}
由于
答案 0 :(得分:0)
在评论中提供的链接中,布局xml包含FrameLayout
参见代码
在文章中也说了
具有ID @ + id / frame的FrameLayout是用于加载我们的占位符UI 片段。
再次从链接中阅读您的文章!
建议始终使用framelayout作为容器来替换片段。如果您不想大幅更改代码,可以尝试在ViewPager中添加相同大小的FrameLayout。但是,如果它仍然不起作用,我认为正确的方法是摆脱你的viewpager,只需在你的framelayolut容器内点击onbottommenu点击片段。这是一个伟大的工作 article的链接。我自己用过它。