android - 访问另一个 Activity 的 textView 以在不同 Activity 中附加文本

标签 android

首先感谢您阅读并花时间解决这个问题。 我有一些 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/

相关文章:

Android 列布局

java - 如何取消recyclerView滚动?

android - Jetpack Compose 文本显示混淆

javascript - 如何让 Cordova navigator.notification.confirm 对话框触发 inappbrowser?

android - Admob 广告未显示在模拟器或手机中

android - View 翻转器 : OutOfMemoryError: bitmap size exceeds VM budget

java - 如何在 Gson 反序列化中折叠嵌套结构?

android - 为什么可检查的菜单项不显示复选框

java - 错误的 R.java 绘图生成

android - 闪烁的操作栏图标