Android setUserVisibleHint从未被调用?

Android setUserVisibleHint从未被调用?,android,android-fragments,fragmentstatepageradapter,Android,Android Fragments,Fragmentstatepageradapter,我需要知道我的片段何时可见,我曾使用setMenuVisibility,但现在我知道这不是一个好选项。我试图在FragmentStatePagerAdapter片段上实现setUserVisibleHint,但它从未被调用 import android.app.Fragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.Vi

我需要知道我的片段何时可见,我曾使用setMenuVisibility,但现在我知道这不是一个好选项。我试图在FragmentStatePagerAdapter片段上实现setUserVisibleHint,但它从未被调用

import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;


public class Contacts extends Fragment {
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            View view = inflater.inflate(R.layout.fragment_screen_contacts, container, false);
            return view;
        }


    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        Log.d("MyFragment", "This never shows up.");
        Toast.makeText(getActivity(), "Neither does this", Toast.LENGTH_LONG).show();
    }
}

我正在运行API级别19,并在我的AndroidManifest上设置最低API级别15。要获取setUserVisibleHint,还有什么要做的吗?我做错了什么?

setUserVisibleHint是可用的,这样当您执行一些专门隐藏片段的奇特片段事务时,您就可以告诉系统片段实际上不可见,而不是相反。您不能使用它来确定可见性,它默认为true

您应该使用isVisible调用来知道片段是否可见,并在片段或根视图类的附加上一个标签,以便在将其附加到活动或相应的根视图时获取回调

setUserVisibleHint() 
仅适用于片段页面编辑器
请参阅

检查条件前尝试呼叫super.setUserVisibleHint(isVisibleToUser);我刚试过,结果还是一样。我读过这篇文章,它只在api级别15之后有效。如果是我把android:minSdkVersion改成了16,我试着将API级别改为se,但仍然不起作用。看来问题不在课堂上,否则会有人看到我。您使用的是哪个支持库,哪个版本?
android.support.v13.app.FragmentPagerAdapter
适合我。