Android 屏幕旋转时如何使用AsyncTask

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)

我的android应用程序中有一个活动,在
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)循环->