我需要将MainActivity.java中的单个文本解析为我应用中的所有其他活动 有可能这样做吗?
答案 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;