android - 将值从 2 个不同的活动传递给不是 startActivity 的活动
问题描述
我要传递值的活动是应用程序的主要活动菜单。从这个活动中,我开始活动所有带有按钮的活动。我想同时从两个不同的活动中检索值,正如我在标题中提到的那样,当我开始活动每个活动时,我想发送值。有帮助吗?
解决方案
使用静态字段或方法
在您想要从中获取值的所有类中拥有静态字符串字段(或计算然后返回字符串的方法),然后让您的活动菜单获取它们并将它们传递给您的startActivity
意图。
例子:
class activity-menu extends Activity{
public void StartActivityC(){
// Get value from Activity_A
string value_A = Activity_A.myString;
// Get value from Activity_B
string value_B = Activity_B.myString;
// Store both values in an Intent:
Intent intent = new Intent(this, Activity_C.class);
// store the string from Activity A under "value_A"
intent.putExtra("value_A", value_A);
// store the string from Activity B under "value_B"
intent.putExtra("value_B", value_B);
startActivity(intent);
}
}
public class Activity_A extends Activity{
public static String myString;
public Activity_A(){
myString = "this is from activity A";
}
}
public class Activity_B extends Activity{
public static String myString;
public Activity_B(){
myString = "this is from activity B";
}
}
public class Activity_C extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the Intent that started this activity and extract the strings:
Intent intent = getIntent();
String value_A = intent.getStringExtra("value_A");
string value_B = intent.getStringExtra("value_B");
// DONE!
}
}
推荐阅读
- typescript - 如何在类方法中正确推断泛型 T 的键扩展 X?
- node.js - Protractor/Selenium/Jasmine 超时,除非手动启动 webdriver 管理器
- python-3.x - 未知类名的 CatBoostError
- python - 查找英国邮政编码之间的距离
- java - JavaFX 折线图出现错误后冻结 - 错误?
- beautifulsoup - 有没有办法在 HTML 文件中查找字符串并返回其 XPath?
- xpages - 阻止下载视频
- python - 用 tkinter 画线
- javascript - 在 AngularJS 中循环 $http.get 请求
- reactjs - 如何在 Gatsby 中捕获 document.ready 或 window.load 事件