我目前正在尝试猜测如何保存之前活动中的数据。 一个例子是:
在startPage.class,我有几个选项可供选择(动画模式,图像模式,文本模式),所以如果我选择文本模式,那么它将是RadioButton3
,当我按下它转到另一个活动。所以让我们在新的Activity中说它有这个Intent命令。当我按下backSelection3
时,如何保留上一个活动的数据?
这意味着,当我按下后面时,我希望RadioButton3
仍然是选择,而不是重置为默认选项。
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent backSelection3 = new Intent(imagemode64by64.this, startPage.class);
startActivity(backSelection3);
}
});
答案 0 :(得分:1)
您可以使用onSaveInstanceState
void onSaveInstanceState(Bundle out) {
String val = ...
out.putString("MYVALUE", val);
super.onSaveInstanceState(val);
}
然后
void onCreate(Bundle savedState) {
if(savedState != null) {
String val = savedState.getString("MYVALUE");
}
}
或者您的意思是如何将数据用于其他活动?然后就可以了
Intent i = new Intnet(this, OtherActivity.class);
String val = ...
i.putExtra("MYVALUE", val);
startActivity(i);
Then in the other activity
void onCreate(Bundle savedState) {
...
Intent i = getIntent();
String val = i.getStringExtra("MYVALUE");
}
答案 1 :(得分:-2)
这是一个在类之间传递数据的古老例子:
class A{
static int num = 0;
public void setNum(int number){
num = number
}
}
class B{
public static void main(){
A obja = new A();
obja.setNum(3);
}
}
只要在B类中执行操作,就可以使用A类中的num变量。