与屏幕方向改变(Android)的两个具体问题作斗争
我知道您可以使用:android:configChanges=“orientation”来消除方向更改时的重画。虽然它不在我的应用程序中。我已经读到,可能有一种方法,你需要覆盖它,使其工作。但我认为这可能有点过分了 当我将屏幕从纵向旋转到横向(或相反)时,只有两个问题我不想发生与屏幕方向改变(Android)的两个具体问题作斗争,android,screen-orientation,Android,Screen Orientation,我知道您可以使用:android:configChanges=“orientation”来消除方向更改时的重画。虽然它不在我的应用程序中。我已经读到,可能有一种方法,你需要覆盖它,使其工作。但我认为这可能有点过分了 当我将屏幕从纵向旋转到横向(或相反)时,只有两个问题我不想发生 如果用户触摸EditText,则会弹出键盘。你移动方向,它会自动隐藏。我想把软键盘放在车上 我有一个从MySQL数据库加载数据的列表视图。它是通过一个AsynTask实现的。当我切换方向时,我不希望调用此任务 我可以隔离
注:其中有几个是列表活动;但最大的一个是带有Viewpager的FragmentActivity,以及内部的Fragment/ListFRagment(带选项卡)内部类。当方向更改时,活动将被销毁并重新创建。如果使用
configChanges
将覆盖的方法是onConfigurationChanged
对于键盘问题,听起来您只需要跟踪它的状态,并通过Activity.onCreate中传递的Bundle
将其还原
对于第二个问题,您可以检查是否onSavedInstanceState==null
,以确定是否需要运行AsyncTask
。当方向更改时,您需要将所有数据保存到包中onPause
中的中,然后销毁并重新创建活动。如果使用configChanges
将覆盖的方法是onConfigurationChanged
对于键盘问题,听起来您只需要跟踪它的状态,并通过Activity.onCreate中传递的Bundle
将其还原
对于第二个问题,您可以检查是否onSavedInstanceState==null
,以确定是否需要运行AsyncTask
。您需要将任何数据保存到onPause
中的捆绑包中