猿问

将数据从第二个活动传递到第三个活动

在这个程序中,我有三个活动主要,第二和第三。当应用程序打开时,会有一个空白的文本视图和按钮。选择该按钮将带您进入第二个活动,用户可以在其中输入姓名、电话号码和电子邮件地址。填写完这些表单后,用户将点击一个按钮来存储该信息并将它们带回主要活动。当回到主要活动时,用户将看到他们输入的名称显示在曾经空白的文本视图中。然后他们可以选择那个文本视图,这会将他们带到第三个活动,显示他们在第二个活动中输入的姓名、电话号码和电子邮件地址。


我有一切工作期望将数据从第二个活动传递到第三个活动。我做了一些研究,发现捆绑包和共享首选项可以做很多事情。我对它们不太熟悉,因为这对我来说很新。我确实尝试过实施它们,但没有任何运气。无论如何,代码如下,任何帮助、反馈或指导将不胜感激。先感谢您!


主要活动:


public class MainActivity extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


}

  public void onClick(View view){ 

     startActivityForResult(new Intent(getApplicationContext(),SecondActivity.class),999);

}


public void onClickText(View v)

    startActivityForResult(new Intent(getApplicationContext(),ThirdActivity.class),999);

}


@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

   super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == 999 && resultCode == RESULT_OK)

    { TextView contactView = (TextView) findViewById(R.id.contactDisplay);

      contactView.setText(data.getStringExtra("Name"));


    }



}}


森栏
浏览 74回答 1
1回答

炎炎设计

如果您想使用共享首选项传递数据,请使用此代码段:public class SharedPreferenceManager {    private static final String PREFS_NAME = Config.SHARED_PREF_NAME;    /**     * @param context     * @param key     * @param value     * @return     */    public static boolean saveToPreference(Context context, String key, String value) {        SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);        SharedPreferences.Editor editor = settings.edit();        editor.putString(key, value);        return editor.commit();    }    /**     * @param context     * @param key     * @return     */    public static String loadFromPreference(Context context, String key) {        SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);        return settings.getString(key, "");    }}要保存到首选项,您需要在应用程序上下文中传递要保存的键和字符串。要从 SharedPreference 中加载保存的字符串,您可以传入 Context 和活动中的键,可以说我想在一个活动中将字符串电子邮件保存到我的共享首选项中,然后将其加载到另一个活动中,这就是我的做法://Save to shared Preference in Activity ASharedPreferenceManager.saveToPreference(this, "email", emailAddress.getText().toString());//Load from shared preference in activity bString emailAddress = SharedPreferenceManager.loadFromPreference(this, "email");
随时随地看视频慕课网APP

相关分类

Java
我要回答