在不丢失数据的情况下切换活动
Switching between activities without losing data
从 activity 2 返回到 1 后按返回按钮时,我一直在丢失数据。
将数据传递给 activity 2 时,我正在使用
intent = new Intent(getApplicationContext(), secondactivity.class);
startActivity(intent);
启动第二个 activity。按下后退按钮时不使用sharedpreference是否可以不丢失数据?
新建一个class
public class myClass{
public static String myData;
}
在你的activity
myClass.myData = "Set a text";
然后在你的每一个地方调用它activity
String myData = myClass.myData;
启动第二个 activity 时,您可以指定您期望 activity:
的结果
int LAUNCH_SECOND_ACTIVITY = 1
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);
然后,在您的第二个 activity 中,您可以覆盖 onBackPressed()
@Override
public void onBackPressed() {
Intent data = new Intent();
// add data to Intent
setResult(Activity.RESULT_OK, data);
super.onBackPressed(); }
可能与 How do I pass data between activities when I press back button in Android?
重复
您可以将数据存储在应用程序中 class 并在任何地方使用它
创建 class:
public class MyCustomApplication extends Application {
String myData = "";
}
在清单中添加 class 名称为 android:name
<application
android:name=".MyCustomApplication"
android:icon="@drawable/icon"
android:label="@string/app_name"
...>
从任何 activity
中像这样访问它
String myData = ((MyCustomApplication)getApplication()).myData;
((MyCustomApplication)getApplication()).myData = "new value";
从 activity 2 返回到 1 后按返回按钮时,我一直在丢失数据。
将数据传递给 activity 2 时,我正在使用
intent = new Intent(getApplicationContext(), secondactivity.class);
startActivity(intent);
启动第二个 activity。按下后退按钮时不使用sharedpreference是否可以不丢失数据?
新建一个class
public class myClass{
public static String myData;
}
在你的activity
myClass.myData = "Set a text";
然后在你的每一个地方调用它activity
String myData = myClass.myData;
启动第二个 activity 时,您可以指定您期望 activity:
的结果int LAUNCH_SECOND_ACTIVITY = 1
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);
然后,在您的第二个 activity 中,您可以覆盖 onBackPressed()
@Override public void onBackPressed() { Intent data = new Intent(); // add data to Intent setResult(Activity.RESULT_OK, data); super.onBackPressed(); }
可能与 How do I pass data between activities when I press back button in Android?
重复您可以将数据存储在应用程序中 class 并在任何地方使用它
创建 class:
public class MyCustomApplication extends Application {
String myData = "";
}
在清单中添加 class 名称为 android:name
<application
android:name=".MyCustomApplication"
android:icon="@drawable/icon"
android:label="@string/app_name"
...>
从任何 activity
中像这样访问它 String myData = ((MyCustomApplication)getApplication()).myData;
((MyCustomApplication)getApplication()).myData = "new value";