假设我们有两个活动,FirstActivity.java和SecondActivity.java
在第一个活动中存在一个String,该String通过用户交互来更改值。
public String input;
SecondActivity启动时,需要String的值才能将其存储在名为“ input”的本地String中以供自己使用。
答案 0 :(得分:1)
在这种情况下,我想到两件事:
使用SharedPreferences
保存每次更改的字符串值,然后在需要时从第二个字符串中检索它。
您可以用public static
标记String变量,然后就可以从代码中的任何位置访问它。
答案 1 :(得分:1)
如果您要启动一个新应用,我强烈建议您看一下android Jetpack的Architecture组件,检查单一活动,Viewmodel,LiveData和Databinding的概念。您将被固定!否则,@ gemy845的答案看起来还不错!
答案 2 :(得分:1)
我不建议使用静态变量或共享首选项来共享这样的信息,尽管它可以工作,但是这可能会引起问题,并且不一定是好的做法。较干净的解决方案是将字符串传递到Intent包中。您可以看一下this堆栈溢出问题,以了解如何做到这一点。
以您为例,就在您切换到第二个活动之前,可以将字符串添加到意图中,如下所示:
intent.putExtra("input", input);
,并在创建的第二个活动中检索如下字符串:
input = getIntent().getExtras().getString("input", "");