选择选项卡片段时会触发什么事件

Tax*_*Noi 15 android android-tabs

我在活动中使用制表符片段,操作栏包含制表符.我想要做的是,无论何时在视图中出现(或重新出现)片段(由用户选择),我都会开始做某事.onResume在这种情况下我无法使用片段,因为当用户选择另一个标签时,所有标签都不会真正"暂停",因此onResume不会被调用

我可以使用托管活动中的以下两个事件,但我不想要它们,因为我希望片段应该自己知道这个逻辑并执行该任务.任何的想法?韩国社交协会.

  @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
        // When the given tab is selected, switch to the corresponding page in the ViewPager.
        mViewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    }
Run Code Online (Sandbox Code Playgroud)

Dou*_*ton 40

尝试片段中的setUserVisibleHint(),如本答案中所述.当片段在选定的选项卡中时,将使用true调用setUserVisibleHint(),并且当片段不是选定的选项卡时,将使用false调用setUserVisibleHint().这适用于我使用支持库.

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);

    if (isVisibleToUser)
        Log.d("MyFragment", "Fragment is visible.");
    else
        Log.d("MyFragment", "Fragment is not visible.");
}
Run Code Online (Sandbox Code Playgroud)


Far*_*han 8

你可以覆盖setUserVisibleHint(boolean isVisibleToUser)onHiddenChanged (boolean hidden)方法.

  • 如果是setUserVisibleHint(boolean isVisibleToUser),
    isVisibleToUser=true当片段可见并且 isVisibleToUser=false片段被隐藏时.

  • 如果, 片段现在是隐藏的onHiddenChanged (boolean hidden),hidden:True如果
    片段不可见则为false.