0

ABS TabActivityに 3 つのタブがあります

public class TabActivity extends SherlockFragmentActivity {

    private ViewPager mViewPager;
    private TabAdapter mTabsAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getOverflowMenu();          

        mViewPager = new ViewPager(this);
        mViewPager.setId(R.id.pager);
        setContentView(mViewPager);

        final ActionBar bar = getSupportActionBar();
        bar.setIcon(R.drawable.actionbar_icon);
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        mTabsAdapter = new TabAdapter(this, mViewPager);
        mTabsAdapter.addTab(bar.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.tab_icon_join)), 1Fragment.class, null);
        mTabsAdapter.addTab(bar.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.tab_icon_create)), 2Fragment.class, null);
        mTabsAdapter.addTab(bar.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.tab_icon_play)), 3Fragment.class, null);         
    }

別のアクティビティにボタンがあり、ボタンをクリックすると2番目のタブに移動したい。これは私がこれまでに持っているものです:

public void onFinishGoToCreate(View view) {
        Intent myIntent = new Intent(Activity.this, TabActivity.class);
        Activity.this.startActivity(myIntent);  
    }

しかし、これで最初のタブに移動します。どんなアイデアでも大歓迎です!

4

1 に答える 1

0

ボタンを使用したアクティビティでは、インテントでエクストラを指定できます。

public void onFinishGoToCreate(View view) {
    Intent myIntent = new Intent(Activity.this, TabActivity.class);
    myIntent.putExtra("selectedTab", 1); // 0 based index for selecting navigation items
    Activity.this.startActivity(myIntent);  
}

次に、他のアクティビティでタブを作成したら、受信インテントで指定されているものを選択できます。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mTabsAdapter.addTab(bar.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.tab_icon_play)), 3Fragment.class, null);         
    int selectedTab = getIntent().getIntExtra("selectedTab", 0); // Default to first tab if nothing has been specified.
    bar.setSelectedNavigationItem(selectedTab);
}
于 2013-11-03T21:42:05.953 に答える