2017-05-03 21 views
0

ホームボタンをクリックすると、下部ナビゲーションが使用され、フラグメント(例:ホーム)が定義されたFramelayout(ID:flayout)内で呼び出されます。フラグメント(ホーム)内の別のフラグメント(例:購入)を呼び出してFramelayout(ID:flayout)に表示できるかどうかを知りたいのですか? Framelayout IDは、レイアウトが異なるためフラグメント(購入)でどのように見つけられますか?ありがとうございました!フラグメント内のフラグメントをコールして同じレイアウトに表示する方法

ボトムナビで問題なく他のフラグメントを呼び出すことができます。これは私のbottomnavigation.java

bottomNavigation = (BottomNavigationView) findViewById(R.id.navigation); 
    fragmentManager = getSupportFragmentManager(); 
    bottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { 
     @Override 
     public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
      int id = item.getItemId(); 
      switch (id){ 
       case R.id.navigation_home: 
        fragment = new Home(); 
        break; 
       case R.id.navigation_buy: 
        fragment = new Buy(); 
        break; 
       case R.id.navigation_sell: 
        fragment = new Sell(); 
        break; 
      } 
      final FragmentTransaction transaction = fragmentManager.beginTransaction(); 
      transaction.replace(R.id.content, fragment).commit(); 
      return true; 
     } 
    }); 
    fragment = new Home(); 
    final FragmentTransaction transaction = fragmentManager.beginTransaction(); 
    transaction.replace(R.id.content, fragment).commit(); 

私はホーム(に行く)のためのコードであり、そしてホームでの購入のような別のフラグメント()を呼び出し()。購入()を(R.id.content)Framelayoutにアクセスして表示する方法は、bottomnavigation.java xmlレイアウトにあります。出来ますか?

+0

すでに何をしようとしたのですか?問題を理解できるように、コードスニペット、環境などの情報をGoogleにお知らせください。 –

+0

私は自分の質問を更新しました。チェックしてください – Benjie

答えて

0

あなたは変更フラグメントのためにこれを試すことができます。

 getChildFragmentManager().executePendingTransactions(); 

    final FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); 

    transaction.addToBackStack(null); 
    transaction.replace(R.id.flayout, new Buy()); 

    transaction.commit(); 
関連する問題