我知道你可以使用这个:android:configChanges =“orientation”来消除方向更改的重绘。虽然它不在我的应用程序中。我已经读过可能有一种方法需要用它来覆盖才能使它工作。但我认为这可能有点矫枉过正。
当我将屏幕从纵向旋转到横向(或其他方式)时,我不希望发生两个问题。
如果用户触摸EditText,则会弹出键盘。你移动方向,它会自动隐藏。我想保持软键盘的骑行。
我有一个从MySQL数据库填充的ListView加载数据。它通过AsynTask完成此任务。当我切换方向时,我不希望调用此任务。
我可以隔离这两个问题,还是第一个选择(configChanges)答案?
注意:其中一些是列表活动;但最重要的是带有Viewpager的FragmentActivity,以及里面的Fragment / ListFRagment(带制表符)。
答案 0 :(得分:1)
当方向更改时,活动将被销毁并重新创建。如果使用configChanges
,您要覆盖的方法是onConfigurationChanged
。
对于键盘问题,您只需跟踪其状态并通过Bundle
中传递的Activity.onCreate
恢复该状态。
对于第二个问题,您可以检查onSavedInstanceState == null
是否需要运行AsyncTask
。您需要将所有数据保存到Bundle
中的onPause
。