保存先前Activity的数据时使用Intent

时间:2014-05-05 04:27:22

标签: android android-intent

我目前正在尝试猜测如何保存之前活动中的数据。 一个例子是:

在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);
    }
});

2 个答案:

答案 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变量。