Android setUserVisibleHint n'est jamais appelé?
J'ai besoin de savoir quand mon fragment est visible, j'ai été en utilisant setMenuVisibility mais maintenant, je sais que c'est pas une bonne option. Je suis en train de mettre en œuvre setUserVisibleHint sur un FragmentStatePagerAdapter Fragment, cependant elle n'est jamais appelée.
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();
}
}
Je suis en cours d'exécution de l'API de niveau 19, et de définir une API minimum de 15 sur mon AndroidManifest. Est-il rien d'autre à faire pour obtenir setUserVisibleHint, ce que je fais mal?
Essayez d'appeler avant de vérifier l'état super.setUserVisibleHint(isVisibleToUser);
Je viens d'essayer et c'est la même chose. J'ai lu cela ne fonctionne qu'à partir de l'api de niveau 15. Je suis en train de vérifier mon niveau API pour soi si c'est que
Ya il sera..
J'ai changé android:minSdkVersion à 16, mais ça ne fonctionne toujours pas. Il semble que le problème n'est pas avec la classe ou quelqu'un l'aurait vu
Salut. Qui bibliothèque de prise en charge utilisez-vous, la révision?
Je viens d'essayer et c'est la même chose. J'ai lu cela ne fonctionne qu'à partir de l'api de niveau 15. Je suis en train de vérifier mon niveau API pour soi si c'est que
Ya il sera..
J'ai changé android:minSdkVersion à 16, mais ça ne fonctionne toujours pas. Il semble que le problème n'est pas avec la classe ou quelqu'un l'aurait vu
Salut. Qui bibliothèque de prise en charge utilisez-vous, la révision?
OriginalL'auteur lisovaccaro | 2014-03-08
Vous devez vous connecter pour publier un commentaire.
setUserVisibleHint est disponible de sorte que vous avez un moyen pour indiquer au système le fragment est en fait pas visible et non l'inverse, quand vous faites un peu de fantaisie fragment de transactions spécifiquement le cacher. Vous ne pouvez pas l'utiliser pour déterminer la visibilité et la valeur par défaut est true.
Vous devez utiliser le isVisible appel pour savoir si le fragment est visible et onAttach du fragment ou de la vue de la racine de classes pour les rappels quand il a été affecté à l'activité ou à la racine respectifs vues.
OriginalL'auteur Ben Max Rubinstein
ne fonctionne que dans un FragmentPagerAdapter.
Veuillez vous référer à Est Fragment.setUserVisibleHint() appelée par le Système android?
FragmentStatePagerAdapter
.android.support.v13.app.FragmentPagerAdapter
fonctionne pour moi.OriginalL'auteur BruceDu