我有不同的potrait设计和活动景观。所以我使用布局 - 土地布局。我把webview放在片段里面,给出了setRetainInstance(true)和像google一样的网址。当配置改变它再次加载可以任何人告诉如何避免.i没有提到android:configchanges =“orientation”在android manifestfile中因为 不同的设计可以帮助解决这个问题吗?
由于
答案 0 :(得分:1)
片段实际上可以让这更容易。只需使用方法Fragment.setRetainInstance(boolean)就可以在配置更改中保留您的片段实例。请注意,这是文档中Activity.onRetainnonConfigurationInstance()的推荐替代。
如果由于某种原因您确实不想使用保留的片段,您可以采取其他方法。请注意,每个片段都有Fragment.getId().返回的唯一标识符。您还可以查看片段是否因为配置更改而被拆除 Fragment.getActivity().isChangingConfigurations()。因此,在您决定停止AsyncTask(最有可能在onStop()或onDestroy()中)的情况下,您可以检查配置是否正在更改,如果是,则将其粘贴在片段标识符下的静态SparseArray中,然后在你的onCreate()或onStart()中查看你是否在稀疏数组中有一个AsyncTask。