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

问题描述 投票:-2回答:4

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

android android-activity textview
4个回答
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","");


0
投票

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

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

访问下一个活动的意图:

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

0
投票

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

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

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


0
投票

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

在MainActivity.java中

public static final String MY_STRING = "my string";

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

String string = MainActivity.MY_STRING;
© www.soinside.com 2019 - 2024. All rights reserved.