货币兑换在Android中不起作用

时间:2013-06-24 19:54:05

标签: android

我在做Android应用程序时遇到了障碍。我的问题是我无法为我的标签创建一个onTabListener。我有三个不同名称的标签。问题是它们都有相同的标签计数。在我的代码中我运行了这个:

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

这会使一个toast说明选项卡的值(例如: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吗?非常感谢任何帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

你所做的就是获得你拥有的标签数量......

您需要tab.getPosition()才能获得所选内容

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