如何将文本从一个活动传递到所有活动?

时间:2017-12-30 08:11:55

标签: android android-activity textview

我需要将MainActivity.java中的单个文本解析为我应用中的所有其他活动 有可能这样做吗?

4 个答案:

答案 0 :(得分:1)

只需将文本存储为shared preferences中的字符串,然后在其他活动中获取字符串..或者您也可以在所有其他活动中使用broadcast receiver。但首先,所有活动都应首先调用receiver,然后MainActivity才能发送文本。 在MainActivity中,

this.getSharedPreferences("MyPrefName", Context.MODE_PRIVATE).edit().putString("parsetext","yourtext").apply();

以及其他活动..

this.getSharedPreferences("MyPrefName", Context.MODE_PRIVATE).getString("parsetext","");

答案 1 :(得分:0)

更好的方法是在活动之间传递数据。代码:

Intent intent = new Intent(getBaseContext(), MainActivity.class);
intent.putExtra("parsetext", "your text here");
startActivity(intent);

访问下一个活动的意图:

String s = getIntent().getStringExtra("parsetext");

答案 2 :(得分:0)

您的问题听起来需要全局访问所有Activites中的某些数据,无论何时需要临时访问,即在应用程序处于活动状态之前,您可以使用Application类,该类可通过{{全局访问1}}在所有活动中。

供参考,请参阅此答案: https://stackoverflow.com/a/1945297/4878972

但是,如果您需要在所有活动中访问的数据需要永久保存,那么您可以采用共享首选项方法。

答案 3 :(得分:0)

您可以在MainActivity中拥有一个公共静态final String,并从另一个activity访问该String。如:

在MainActivity.java中

public static final String MY_STRING = "my string";

在您需要访问变量的其他地方,您可以访问:

String string = MainActivity.MY_STRING;