gpt4 book ai didi

java - 如何使用共享首选项修复显示值?

转载 作者:行者123 更新时间:2023-12-02 04:05:41 24 4
gpt4 key购买 nike

我使用 SharedPreferences 在每个 Activity 中存储 TextView 值,并在显示 Activity 中显示所有 Activity 的 EditText 值。我之前已经完成了 3 个 Activity 的代码,效果很好。我对 11 项 Activity 进行了精确编码,但不起作用。EditText 中显示的值为空。

我尝试使用 EditText 或 TextView,但两者均不显示。早些时候,该项目在没有共同偏好的情况下运行良好。我现在需要共享首选项,以便当用户单击上一个按钮时项目不会破坏文本值。这是显示 Activity 的代码

editText = findViewById(R.id.editText2);

    SharedPreferences oshap = getSharedPreferences("om", Context.MODE_PRIVATE);

SharedPreferences wshap = getSharedPreferences("wm", Context.MODE_PRIVATE);

SharedPreferences tshap = getSharedPreferences("tm", Context.MODE_PRIVATE);

SharedPreferences fshap = getSharedPreferences("fm", Context.MODE_PRIVATE);

SharedPreferences fishap = getSharedPreferences("fim", Context.MODE_PRIVATE);

SharedPreferences sishap = getSharedPreferences("sm", Context.MODE_PRIVATE);

SharedPreferences seshap = getSharedPreferences("sem", Context.MODE_PRIVATE);

SharedPreferences eigshap = getSharedPreferences("eig", Context.MODE_PRIVATE);

SharedPreferences nishap = getSharedPreferences("ni", Context.MODE_PRIVATE);

SharedPreferences tenshap = getSharedPreferences("tens", Context.MODE_PRIVATE);

String o=oshap.getString("om","");

String tw=wshap.getString("wm","");

String th=tshap.getString("tm","");

String fo=fshap.getString("fm","");

String fi=fishap.getString("fim","");

String siix=sishap.getString("sm","");

String seev=seshap.getString("sem","");

String ei=eigshap.getString("eig","");

String nin=nishap.getString("ni","");

String teno=tenshap.getString("tens","");

字符串结果=o+tw+th+fo+fi+siix+seev+ei+nin+teno;

    editText.setText(result);

我无法将整个项目粘贴到此处,因为它不适合这里,而且是多余的。下面的短代码是从中传递文本值的 Activity 一。所有 Activity 中都使用相同的行来传递值。仅键和对象的名称会相应更改。

SharedPreferences oshap = getSharedPreferences("om", Context.MODE_PRIVATE);

                SharedPreferences.Editor edion = oshap.edit();

edion.putString("otxt", txt.getText().toString());

edion.apply();

startActivity(new Intent(one.this, two.class));

输出应该是所有字符串连接在一起的结果。如果通过所有 Activity TextView 传递的字符串是:A,B,C,...那么显示 Activity EditText 应该是:ABC....

最佳答案

在这一行中用“om”名称声明:

  SharedPreferences oshap = getSharedPreferences("om", Context.MODE_PRIVATE);

在这一行您输入了“otxt”键:

edion.putString("otxt", txt.getText().toString());

最后你得到了带有“om”键的字符串,但从未创建过:

String o=oshap.getString("om","");

据我所知,这是错误的。但我敢打赌其余部分也发生了这种情况。将对象名称与键混合在一起。

关于java - 如何使用共享首选项修复显示值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56714866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com