1

Actionbarsherlockタブのレイアウトに使用しています。いくつかの条件では、インデックス 4 のタブをデフォルトのタブとして設定したいと考えています。タブは5番目の位置にとどまる必要がありますが、デフォルトのタブにする必要があります。それを行う方法はありますか?

私のクラス定義は次のようになります。

public class CalendarActivity extends SherlockFragmentActivity implements ActionBar.TabListener

メソッドは次のようになりonCreateます。

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

    ActionBar bar = getSupportActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab tabMonthly = bar.newTab();
    tabMonthly.setText("Monthly").setTabListener(this);
    bar.addTab(tabMonthly);

    ActionBar.Tab tabWeekly = bar.newTab();
    tabWeekly.setText("Weekly").setTabListener(this);
    bar.addTab(tabWeekly);

    ActionBar.Tab tabDaily = bar.newTab();
    tabDaily.setText("Day").setTabListener(this);
    bar.addTab(tabDaily);

    ActionBar.Tab tabList = bar.newTab();
    tabList.setText("List").setTabListener(this);
    bar.addTab(tabList);

    ActionBar.Tab addEvent = bar.newTab();
    addEvent.setText("Unread").setTabListener(this);
    bar.addTab(addEvent);


    //String callerActivity = getIntent().getStringExtra("activityCaller");
    //if( callerActivity!= null && callerActivity.equalsIgnoreCase("notification") ){
        //bar.setSelectedNavigationItem(4);
    //}
}

onCreate()上記のメソッドの最後にコメントされているコードを試しました。しかし、このコードの問題は、最初にインデックス 0 のタブをロードしてから、突然インデックス 4 のタブに移動することです。

4

0 に答える 0