我想问一下,如果我有多个活动需要通过另一个活动,怎么样?从下面的代码中,我已经将活动A中的数据传递给DisplayActivity,但现在我想添加另一个活动,即活动A和B,并将来自它们的所有数据传递给DisplayActivity。 COde代表活动A.代码2代表DisplayActivity
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(MainActivity.this,Main2Activity.class);
intent1.putExtra("first_name",edt1.getText().toString());
intent1.putExtra("last_name",edt2.getText().toString());
intent1.putExtra("date_of_birth",edt3.getText().toString());
//startActivity(intent1);
startActivityForResult(intent1,1);
Intent intent2 = getIntent();
Bundle bundle = intent2.getExtras();
String first = bundle.getString("first_name");
String last = bundle.getString("last_name");
String dob = bundle.getString("date_of_birth");
txt5.setText(": "+first.toString()+" "+last.toString());
txt7.setText(": "+dob.toString());
您可以将所有数据保存在共享首选项中,并根据需要检索数据。
根据您的需要创建一个AppPreference类并创建一些getter和setter,将您的数据保存在共享首选项中并获取所需的位置。
AppPreference类: -
public class AppPreference {
private static SharedPreferences mPrefs;
private static SharedPreferences.Editor mPrefsEditor;
public static String getFirstName(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
return mPrefs.getInt("first_name", "");
}
public static void setFirstName(Context ctx, Integer value) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.putInt("first_name", value);
mPrefsEditor.commit();
}
}
设定值: -
AppPreference.getFirstName(activity, edt1.getText().toString());
并获得价值: -
String firstName = getFirstName(this);