首先感谢您阅读并花时间解决这个问题。
我有一些 Activity ,每个 Activity 都包含一个用于下一步的按钮。最后一个包含一个 TextView,我想将其 append()
一个文本,每个 Activity 都已完成其工作。我使用静态来访问 TextView,但是因为包含 textView 的 Activity 是最后一个运行的 Activity ,所以我得到了 NullException。
我会很感激任何建议。
谢谢;)
最后一个 Activity :
public class FinishActivity extends Activity {
static TextView textViewResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finish_layout);
textViewResult = (TextView)findViewById(R.id.textViewResult);
}
}
最佳答案
如图所示使用 SharedPreferences here在每个 Activity 后保存附加的字符串,并在最后一个 Activity 中将其用作 textview.setText(pref.getString("key",null));
如果您不了解如何创建/使用 SharedPreferences,请发表评论,我们很乐意提供帮助
更新: 在每个 Activity 中声明-
SharedPreferences pref;
SharedPreferences.Editor editor;
然后在onCreate()里面-
pref = getSharedPreferences("name", MODE_PRIVATE);
editor = pref.edit();
您可以使用任何字符串代替上面的“名称”。它是您的 SharedPreference 文件的名称。
现在要保存字符串 -
editor.putString("myString", "some string");
editor.apply();
获取字符串-
String s=pref.getString("MyString",null);
只需在第二个 Activity 中获取字符串 -> 使用“+”追加 -> 使用 editor.put 再次保存。应该这样做 :) google SharedPreferences 以获取更多信息
关于android - 访问另一个 Activity 的 textView 以在不同 Activity 中附加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36080731/