将所有先前活动的数据显示到一个活动

问题描述 投票:-1回答:1

我想问一下,如果我有多个活动需要通过另一个活动,怎么样?从下面的代码中,我已经将活动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());
java android android-intent
1个回答
1
投票

您可以将所有数据保存在共享首选项中,并根据需要检索数据。

根据您的需要创建一个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);
© www.soinside.com 2019 - 2024. All rights reserved.