Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在微调器小部件中设置选定项_Java_Android_Android Widget_Android Spinner - Fatal编程技术网

Java 在微调器小部件中设置选定项

Java 在微调器小部件中设置选定项,java,android,android-widget,android-spinner,Java,Android,Android Widget,Android Spinner,在我的Android应用程序中,我有一个带有微调器的活动。我在onCreate()中使用以下代码创建了它: this.playerPositionSpinner=(微调器)this.findViewById(R.id.player\u position\u text); ArrayAdapter positionsAdapter=ArrayAdapter.createFromResource(这是R.array.positions,android.R.layout.simple\u微调器\u项)

在我的Android应用程序中,我有一个带有
微调器的
活动
。我在
onCreate()
中使用以下代码创建了它:

this.playerPositionSpinner=(微调器)this.findViewById(R.id.player\u position\u text);
ArrayAdapter positionsAdapter=ArrayAdapter.createFromResource(这是R.array.positions,android.R.layout.simple\u微调器\u项);
positionsAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
此.playerPositionSpinner.setAdapter(位置适配器);
稍后,我想根据我知道在微调器列表中是有效项的字符串设置所选项?所有的
Spinner.setSelection()
方法都为该位置使用
int
参数。如何在
微调器的下拉列表中获取
字符串的位置?

(您现在发布了一些代码!是的!这大大简化了我的示例。)
我建议在调用
setAdapter()后使用:


显然,您可以使用与应用程序相关的内容替换
“西瓜”

在创建和设置微调器的
阵列适配器后,您需要调用
播放位置微调器。设置选择(位置)
,使用微调器设置选择方法: ,布尔值)


您需要将项目位置的整数值传递给它。要获取值,请使用适配器。

这两个链接如何回答问题?Stack Overflow关于“仅链接”的策略回答:“虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。”我已经查看了这两个问题,但没有找到解决问题的方法。我可能应该在我的问题中添加更多细节。此编辑是对链接的改进,但仍然没有回答我的问题,即当我有一个字符串时如何获得位置。好的,但现在你的答案基本上与我(和肖恩的)相同。。。这是一个什么新的信息,还是一个重复的答案?答案是:它不仅是第一个,而且它解决了从
字符串
而不是
int
中设置选择的问题。很抱歉,我原来的问题有点模糊。我编辑了更多的细节。请随时更新您的答案。很抱歉,我最初的问题有点模糊。我编辑了更多的细节。如果您觉得需要,请随时更新您的答案。@Code Guru--您只能在为微调器分配了ArrayAdapter后调用setSelection。我建议将playerPositionSpinner声明为类成员,然后在
onCreate
期间分配它,这样您就可以从其他方法和内部调用微调器classes@mrres1在我编辑时添加的代码中,
playerPositionSpinner
前面的
this
引用应该是它已经是类成员的线索。我碰巧正在
onCreate()
方法中设置所选内容,我编辑的问题中的代码所在的位置。在更详细地查看了API之后,我发现如果需要在另一个方法中设置选择,我可以在我的
微调器上调用
getAdapter()
。(当然,我也可以将
适配器
存储为类成员。)我错过了“稍后我想…”抱歉,但你得到了!
    this.playerPositionSpinner = (Spinner) this.findViewById(R.id.player_position_text);
    ArrayAdapter<CharSequence> positionsAdapter = ArrayAdapter.createFromResource(this, R.array.positions, android.R.layout.simple_spinner_item);
    positionsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    this.playerPositionSpinner.setAdapter(positionsAdapter);
playerPositionSpinner.setSelection(positionsAdapter.getPosition("Watermelon"));