Android setUserVisibleHint从未被调用?
我需要知道我的片段何时可见,我曾使用setMenuVisibility,但现在我知道这不是一个好选项。我试图在FragmentStatePagerAdapter片段上实现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
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
适合我。