Android 屏幕旋转时如何使用AsyncTask
我的android应用程序中有一个活动,在Android 屏幕旋转时如何使用AsyncTask,android,android-asynctask,screen-orientation,Android,Android Asynctask,Screen Orientation,我的android应用程序中有一个活动,在onCreateView()上调用asynctask 这是我的密码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_weeklyprofit); fromDateTxt=(TextView)
onCreateView()上调用asynctask
这是我的密码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_weeklyprofit);
fromDateTxt=(TextView)findViewById(R.id.fromDate);
toDateTxt = (TextView)findViewById(R.id.toDate);
GetXYPoints getXY = new GetXYPoints();
getXY.execute(fromDateTxt.getText().toString(),toDateTxt.getText().toString());
}
现在我的应用程序需要旋转,所以旋转时我需要存储数据:
我已按以下方式实施:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("from", fromDateTxt.getText().toString());
savedInstanceState.putString("to", toDateTxt.getText().toString());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
SystemClock.sleep(500);
fromDateTxt.setText(savedInstanceState.getString("from"));
toDateTxt.setText(savedInstanceState.getString("to"));
GetXYPoints getXY = new GetXYPoints();
getXY.execute(fromDateTxt.getText().toString(),toDateTxt.getText().toString());
}
因此,我再次使用还原的数据回忆起asynctask,我的问题是,当rotate和它调用onRestoreInstanceState时,活动会再次运行,因此如何防止活动调用第一个asyncktask
换句话说,当屏幕处于旋转状态时,存储异步任务返回的数据的最佳解决方案是什么?在您的AndroidManifest.xml
中添加以下内容,以防止方向更改时重新加载活动
android:configChanges="orientation|screenSize"
因此,您将有如下内容:
<activity android:name="Activity"
android:configChanges="orientation|screenSize">
</activity>
希望它能起作用 在您的AndroidManifest.xml
中添加以下内容,以防止方向更改时重新加载活动
android:configChanges="orientation|screenSize"
因此,您将有如下内容:
<activity android:name="Activity"
android:configChanges="orientation|screenSize">
</activity>
希望它能起作用 在您的AndroidManifest.xml
中添加以下内容,以防止方向更改时重新加载活动
android:configChanges="orientation|screenSize"
因此,您将有如下内容:
<activity android:name="Activity"
android:configChanges="orientation|screenSize">
</activity>
希望它能起作用 在您的AndroidManifest.xml
中添加以下内容,以防止方向更改时重新加载活动
android:configChanges="orientation|screenSize"
因此,您将有如下内容:
<activity android:name="Activity"
android:configChanges="orientation|screenSize">
</activity>
希望它能起作用 我建议您确保确实需要在屏幕旋转时重置活动(默认行为)。每次我遇到旋转问题时,我都会在AndroidManifest.xml中将这个属性添加到我的标记中,并且一切正常
android:configChanges=“键盘隐藏|方向”
source我建议您确保确实需要在屏幕旋转时重置活动(默认行为)。每次我遇到旋转问题时,我都会在AndroidManifest.xml中将这个属性添加到我的标记中,并且一切正常
android:configChanges=“键盘隐藏|方向”
source我建议您确保确实需要在屏幕旋转时重置活动(默认行为)。每次我遇到旋转问题时,我都会在AndroidManifest.xml中将这个属性添加到我的标记中,并且一切正常
android:configChanges=“键盘隐藏|方向”
source我建议您确保确实需要在屏幕旋转时重置活动(默认行为)。每次我遇到旋转问题时,我都会在AndroidManifest.xml中将这个属性添加到我的标记中,并且一切正常
android:configChanges=“键盘隐藏|方向”
source简单地使用一个布尔标志,当第一次设置为true时,它将为false;当标记为true时,它将调用AsyncTask。简单地使用一个布尔标志可能重复,当设置为true时,它将为false;当标记为true时,它将调用AsyncTask。简单地使用一个布尔标志,当它第一次调用AsyncTask时,它可能重复设置为true后为false,因此当标记为true调用AsyncTask时为false。可能重复的只需使用一个布尔标记,当第一次设置为true后为false,因此当标记为true调用AsyncTask时为false。可能重复此操作,但如果为横向和纵向指定不同的布局,则可能会导致布局问题!这是可行的,但如果为横向和纵向指定不同的布局,可能会导致布局问题!这是可行的,但如果为横向和纵向指定不同的布局,可能会导致布局问题!这是可行的,但如果为横向和纵向指定不同的布局,可能会导致布局问题!这是可行的,但如果为横向和纵向指定不同的布局,可能会导致布局问题!你也可以用不同的方法来阅读这个博客,但是如果我没有为横向和纵向指定不同的布局,那么你可以使用1)截击->2)LoopJ->这个方法,但是如果你为横向和纵向指定不同的布局,可能会导致布局问题!你也可以用不同的方法来阅读这个博客,但是如果我没有为横向和纵向指定不同的布局,那么你可以使用1)截击->2)LoopJ->这个方法,但是如果你为横向和纵向指定不同的布局,可能会导致布局问题!你也可以用不同的方法来阅读这个博客,但是如果我没有为横向和纵向指定不同的布局,那么你可以使用1)截击->2)LoopJ->这个方法,但是如果你为横向和纵向指定不同的布局,可能会导致布局问题!你也可以用不同的方法阅读本博客,但如果我没有为横向和纵向指定不同的布局,你可以使用1)截击->2)循环->