-1

Android アプリケーションを実行中に障害に遭遇しました。私の問題は、タブの onTabListener を作成できないことです。名前の異なる 3 つのタブがあります。問題は、それらのタブ数がすべて同じであることです。私のコードでは、これを実行しました:

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        int n = getActionBar().getTabCount();
        Toast.makeText(getApplicationContext(), "You have selected: " + n, Toast.LENGTH_LONG).show();
    }

これにより、タブの値 (例: 0、1、2、3) を示すトーストが作成されますが、すべてのタブのインジケーターは同じです。すべてのタブに同じインジケーターがある場合、onTabListener を作成できません。ここに私の完全なコードがあります:

ActionBar.TabListener tabListener = new ActionBar.TabListener() {
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        int n = getActionBar().getTabCount();
        Toast.makeText(getApplicationContext(), "You have selected: " + n, Toast.LENGTH_LONG).show();
    }

    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
        // hide the given tab
    }

    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
        // probably ignore this event
    }
};

// Add 3 tabs, specifying the tab's text and TabListener
for (int i = 0; i < 3; i++) {
    actionBar.addTab(
            actionBar.newTab()
                    .setText(tabTitle[i])
                    .setTabListener(tabListener));
}

どうした?タブのタイトルを使用して onTabListener を作成する方法はありますか? この問題への助けは大歓迎です。

4

1 に答える 1