2017-04-27 10 views
0

私の問題は、複数のフラグメントでNavigationDrawerを使用していることです。私にはアクティビティがあります。私はその活動から特定の断片に戻ろうとしています。私は意図を送ろうとしました。それは動作しますが、バンドルの値がnullでないために常にそのフラグメントにとどまります。バンドルをヌルにする方法がある場合、またはあなたが意図よりも優れたソリューションを持っている場合、私は感謝します。皆さんありがとう。アクティビティからNavigationDrawerの特定のフラグメントにナビゲートする方法

この方法では、法の下に使用してバンドルをクリアすることができフラグメント

public void DisplaySelectedScreen(int id) { 

     infoNom = this.getIntent().getExtras(); 
     if (infoNom != null) { 
      id = Integer.valueOf(infoNom.getString("Fragment")); 
     } 

     infoNom = null ; //not Working 

     Fragment fragment = null; 

     switch (id) { 
      case R.id.nav_home: 
       fragment = new Home(); 
       break; 
      case R.id.nav_info: 
       fragment = new Informations(); 
       break; 
      case R.id.nav_cmd: 
       fragment = new Commandes(); 
       break; 
      case R.id.nav_panier: 
       fragment = new Cart(); 
       break; 
      case R.id.nav_contact: 
       fragment = new Contact(); 
       break; 
      case R.id.nav_about_us: 
       fragment = new About_Us(); 
       break; 
      case R.id.nav_logout: 
       ParseUser.logOut(); 
       Intent intent = new Intent(Main.this, Welcome.class); 
       startActivity(intent); 
       break; 

     } 

     if (fragment != null) { 
      FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
      ft.replace(R.id.content_frame, fragment); 
      ft.commit(); 
     } 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 

    } 
+0

this.getIntent()。setExtras(null)を試しましたか? –

+0

setExtras()メソッドがありません! – Khalil

+0

intent.putExtra( "key"、bundle)のようなキーを渡しました –

答えて

1

を切り替えることが可能です:

getIntent().removeExtra("key"); 

は、それはあなたを助けるホープ!

+0

ありがとうございました。 – Khalil

0

ウェイズエキストラを交換する

無効removeExtra(文字列名) 意図から拡張データを削除します。

void removeFlags(int flags) これらのフラグをインテントから削除します。

インテントreplaceExtras(インテントsrc) インテントのエクストラを指定されたインテントのエクストラと完全に置き換えます。

インテントreplaceExtras(バンドルエクストラ) インテント内のエクストラを、指定されたエクストラのバンドルで完全に置き換えます。

希望します。

関連する問題