知道选择了哪个选项卡

时间:2014-06-26 15:32:15

标签: android android-fragments tabs

我用4个标签实现了ActionBar。每个标签都会加载一个片段在每个片段中,我都有一个带有蓝牙标志的imageView,当蓝牙被连接时,这个标志应该闪烁。我通过这种方式在所有片段上实现了这个方法:

public void makeBluetoothBlink() {
    btIcon.setImageResource(R.drawable.bluetooth_blink);
    AnimationDrawable frameAnimation = (AnimationDrawable) btIcon.getDrawable();
    frameAnimation.start();
}

现在,在活动中,我有一个蓝牙状态的监听器,当它连接时,它应该检测哪个片段是可见的。其他可能性是检测选择哪个选项卡。展位选项应该做的工作。

我的方法是为每个片段定义一个标签,然后检查哪一个是可见的,并调用那里的方法使蓝牙标志闪烁。但它没有从片段中识别出该方法。这就是为什么我想要检测选择哪个标签可能更容易,但我不确定,我不知道该怎么做。

public void onConnecting() {
    //Call fragment blink method
    Fragment current_fragment = getSupportFragmentManager().findFragmentByTag(tab1);
    if (current_fragment.isVisible()) {
        current_fragment.makeBluetoothBlink();
    }
}

1 个答案:

答案 0 :(得分:0)

来自Android Development docs

public abstract ActionBar.Tab getSelectedTab ()

Added in API level 11
Returns the currently selected tab if in tabbed navigation mode and there is at least one tab present.

Returns
The currently selected tab or null