5

私は多くの例、質問、チュートリアルを終えましたが、特定のタブでアクティビティの起動(新しいインテントの開始)を見たことはありません。 .setCurrentTabを使用してタブに切り替えることができますが、これは親アクティビティタブ内からのみ行うことができます。別のアクティビティから1つのアクティビティに含まれる特定のタブを起動する方法はありますか?出来ますか?もしそうなら、どのように?特定のタブでアクティビティを起動するにはどうすればよいですか?

私のコードでは、標準アクティビティの起動ユーザーには最初のタブが表示されますが、別のアクティビティからリダイレクトされる場合は4番目のタブに移動します。 マイTabHostコード(MyTabActivity):別のアクティビティで今

int tabIndex = 0; 

      mTabHost.addTab(mTabHost.newTabSpec("top10").setIndicator("Top 10").setContent(R.id.Top_10)); 
      mTabHost.addTab(mTabHost.newTabSpec("billable").setIndicator("Billable").setContent(R.id.Billable)); 
      mTabHost.addTab(mTabHost.newTabSpec("product").setIndicator("Product").setContent(R.id.Product)); 
      mTabHost.addTab(mTabHost.newTabSpec("regular").setIndicator("Regular").setContent(R.id.General)); 


      mTabHost.setCurrentTab(tabIndex); 

public void gotoTab() { 
//This will take me to the first tab 
Intent i = new Intent(this, MyTabActivity.class); 
startActivity(i); 
finish(); 
//How to I make it take me to the fourth tab? 
} 

答えて

11

は、あなたが新しい活動のコンストラクタでsetCurrentTabでそれを自分で処理する必要があります。

呼び出している間、あなたは意志で付加価値入れなければならない - 新しい=あなたのタブ位置

テントの意図でこれを試してみてください

Intent i = getIntent(); 
int tabToOpen = i.getIntExtra("FirstTab", -1); 
if (tabToOpen!=-1) { 
    // Open the right tab 
} 
0

-

Intent i = new Intent(this, MyTabActivity.class); 
i.putExtra("FirstTab", 4); 

そしてMyTabActivityのコンストラクタでをインテント(MyActivity.this、TabScreenActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); intent.putExtra(ConstantString.ViewTab、1); startActivity(インテント);

そしてTabScreenActivity

のコンストラクタであれば(getIntent()!= NULL){

 tabPosition = getIntent().getIntExtra(ConstantString.ViewTab, tabPosition); 

     if (tabPosition == 1) { 
      new Handler().postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        viewPager.setCurrentItem(1, true); 
       } 
      }, 1000); 
     } else { 
      viewPager.setCurrentItem(0, true); 
     } 


    } else { 
     viewPager.setCurrentItem(0, true); 
    } 
関連する問題