我想创建一个测验应用。在ProfileActivity上是使用recycleler视图的列表名称。在NewProfileActivity上,用户需要输入他们的名字,名称将显示在ProfileActivity上。
这是NewProfileActivity中的代码按钮:
final Button save_profile_button = findViewById(R.id.button_save);
save_profile_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent save_profile_intent = new Intent();
if (TextUtils.isEmpty(mProfileNameView.getText())) {
setResult(RESULT_CANCELED, save_profile_intent);
} else {
String profile_name = mProfileNameView.getText().toString();
save_profile_intent.putExtra(EXTRA_REPLY, profile_name);
setResult(RESULT_OK, save_profile_intent);
}
finish();
}
});
它将返回到ProfileActivity,并能够显示用户输入的名称。 但是当我更改流程时,从NewProfileActivity到QuestionActivity,该名称不会出现在ProfileActivity上。这段代码不起作用:
final Button save_profile_button = findViewById(R.id.button_save);
save_profile_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent save_profile_intent = new Intent();
if (TextUtils.isEmpty(mProfileNameView.getText())) {
setResult(RESULT_CANCELED, save_profile_intent);
} else {
String profile_name = mProfileNameView.getText().toString();
save_profile_intent.putExtra(EXTRA_REPLY, profile_name);
setResult(RESULT_OK, save_profile_intent);
}
Intent goto_question_intent = new Intent(NewProfileActivity.this, QuestionActivity.class);
startActivity(goto_question_intent);
}
});
如何更改流量并仍能显示名称? 使用此流程: MainActivity - > ProfileActivity - > NewProfileActivity - > QuestionActivity - > ResultActivity - > MainActivity - > ProfileActivity
答案 0 :(得分:0)
尝试使用“共享首选项”来保存少量数据。
https://developer.android.com/training/data-storage/shared-preferences
通过“共享首选项”保存数据后,无论“活动”更改如何,您都可以随时获取并显示数据。
在您的情况下,您可以在按钮点击事件中执行类似的操作
SharedPreferences pref = getApplicationContext().getSharedPreferences("YourPrefNameHere", Context.MODE_PRIVATE);
Editor editor = pref.edit();
editor.putString("your_key_name", "put the value you want to save here");
当您想要显示已保存的值时,只需获取它并将其显示在您想要的任何Activity
中
pref.getString("your_key_name", null);
答案 1 :(得分:0)
如果您只使用一次,则可以使用startActivityForResult https://developer.android.com/reference/android/app/Activity#starting-activities-and-getting-results