recherche

Maison  >  Questions et réponses  >  le corps du texte

android - Lorsque le téléphone est en mode paysage ou portrait, l'instance dans le fragment telle que l'objet recyclerview est nulle et le rappel lors du renvoi des données en arrière-plan provoque une exception de pointeur nul.

Lorsque le téléphone mobile bascule entre les écrans horizontaux et verticaux, l'état du fragment est perdu, ce qui entraîne le signalement d'une exception de pointeur nul lorsque le rappel de données demandé par le sous-thread est affiché

.

阿神阿神2732 Il y a quelques jours1133

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-05-31 10:40:57

    C'est comme si tourner l'écran déclenche le redessin. Essayez d'ajouter les attributs suivants à l'activité actuelle dans Manifast :
    android:configChanges="orientation|screenSize"

    .

    répondre
    0
  • 为情所困

    为情所困2017-05-31 10:40:57

    Qu'il s'agisse de faire pivoter l'écran ou de fermer Activity, cela doit être fait dans Fragment#onDestroy() ou Fragment#onDestroyView( ), annulez la surveillance des réponses de l'interface réseau. Sinon, même si le problème de reconstruction de l'Activité provoquant le crash de l'application lors de la rotation de l'écran est résolu en définissant android : configChanges, il est toujours possible qu'elle plante dans d'autres scénarios. Laissez l'application planterActivity, 都应该在Fragment#onDestroy()或者Fragment#onDestroyView()时, 取消网络接口的响应监听. 否则即便是通过设置android:configChanges解决屏幕旋转时Activity重建导致App崩溃的问题, 其他场景也还是有几率让App崩溃

    建议阅读下Android源码去了解下以下几个知识点:

    1. Activity是如何管理Fragment

    2. Fragment是如何管理View

    3. Activity & Fragment是如何管理Loader

    另外推荐使用 Retrofit + RxAndroid + RxLifecycle 来实现网络接口以及调用. 页面数据管理可以考虑Loader.

    Il est recommandé de lire le code source d'Android pour comprendre les points de connaissances suivants : #🎜🎜#
    1. #🎜🎜#Comment Activity gère le Fragment#🎜🎜#
    2. #🎜🎜#Comment Fragment gère View#🎜🎜#
    3. #🎜🎜#Comment Activité et Fragment gèrent le Loader#🎜🎜#
    #🎜🎜# Il est également recommandé d'utiliser Retrofit + RxAndroid + RxLifecycle pour implémenter les interfaces réseau et les appels. Pour la gestion des données de page, vous pouvez. pensez au Loader< /code>.#🎜🎜#

    répondre
    0
  • Annulerrépondre