gpt4 book ai didi

java - 响应 startActivityForResult

转载 作者:行者123 更新时间:2023-11-30 11:48:43 27 4
gpt4 key购买 nike

我正在尝试使用 startActivityForResult 响应 Activity 的结果。我得到了预期的结果,但不确定如何回应结果。我想做的是根据结果调用不同的 ArrayList(这是一种资源)。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bundle d = data.getExtras();
String oil = d.getString("oil");
Resources res = getResources();
String[] oil_info = res.getStringArray(R.array.OIL);
...
}
}

我希望 R.array.OIL 响应结果而改变。即,如果 oil = 'BASIL' 将 R.array.OIL 更改为 R.array.BASIL。我想过制作一个散列图,但无法弄清楚如何将 R.array.OIL 放入散列图中,因为你不能将原语放入散列图中。我是 android 和 java 的新手,所以我确信有更好的方法可以做到这一点。任何帮助将非常感激。谢谢。

最佳答案

使用 getIdentifier() 满足您的要求。

例如在数组类型 2 中,有不同值的 OIL 和 BASIL。你可以访问 R.array.OIL 和 R.array.BASIL。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bundle d = data.getExtras();
String oil = d.getString("oil");
Resources res = getResources();
int id = res.getIdentifier(oil, "array", getPackageName());
String[] oil_info = res.getStringArray(id);
...
}
}

在上面的代码中,如果字符串 oil"OIL" 那么 id 将变成 R.array.OIL oil"BASIL" 然后 id 将变成 R.array.BASIL

关于java - 响应 startActivityForResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com