簡體   English   中英

片段替換不起作用

[英]Fragment replacing does not work

我有一個正常工作的BottomMenu。 問題是,如果我想通過Buttonclick從那些菜單“片段”之一切換到新的Fragment(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);
}

謝謝

在注釋中提供的鏈接中,布局xml包含FrameLayout

看到代碼

在文章中也有提到

ID為++ id / frame的FrameLayout是用於加載Fragment的占位符UI。

再次從鏈接中閱讀您的文章!

建議始終使用框架布局作為容器來替換片段。 如果您不想徹底更改代碼,可以嘗試在ViewPager中以相同大小添加FrameLayout。 但是,如果仍然無法正常運行,我相信正確的方法是擺脫viewpager的影響,而只需替換在framelayolut容器內單擊的內容就可以了。 這是一篇出色的工作 文章的鏈接。 我自己用過的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM