我有一个微调器,它使用strings.xml中的数组
如果数组有5个字符串(1,2,3,4,5),我希望微调器显示第二个 string(2)作为默认值,这可能吗? 我知道我可以重新排列字符串顺序,以便第一个是2, 但是如果微调器对话框显示为(2,1,3,4,5),这看起来不太好。
或者是否必须以编程方式在我的活动中创建数组 然后使用setPostion()? 我试过这个,但在活动中创建数组时出错了。 任何人都可以给我一个如何创建阵列和使用的例子 它在spinner()
中我也在这里寻找答案,但似乎无法找到我需要的东西。
感谢您寻找......
答案 0 :(得分:12)
我建议您查看:http://developer.android.com/resources/tutorials/views/hello-spinner.html
您应该在Activity中创建一个ArrayAdapter。
从以上链接:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
您可以使用
spinner.setSelection(adapter.getPosition(value)));
设置位置。
答案 1 :(得分:3)
欢呼回复.....
没有做我需要的,但已设法解决我的问题如下..
首先,我在我的活动中创建了一个数组,而不是strings.xml。
String[] NoCore_Array = new String [5];
{
NoCore_Array[0] = "1";
NoCore_Array[1] = "2";
NoCore_Array[2] = "3";
NoCore_Array[3] = "4";
NoCore_Array[4] = "5";
}
然后我用...创建了微调器
Spinner spnNoCore = (Spinner) findViewById(R.id.spinner_nocore);
然后使用上面的数组创建了适配器....
ArrayAdapter NoCoreAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, NoCore_Array);
spnNoCore.setAdapter(NoCoreAdapter);
然后按如下方式设置适配器的默认位置......
//Set Default Selection
spnNoCore.setSelection(1);
然后其余的spinner代码用于操作...
spnNoCore.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
//Get item from spinner and store in string conductorSize........
NoCore = parent.getItemAtPosition(pos).toString();
if (NoCore.equals(NoCore1)) { CoreNo = 1 ; }
if (NoCore.equals(NoCore2)) { CoreNo = 2 ; }
if (NoCore.equals(NoCore3)) { CoreNo = 3 ; }
if (NoCore.equals(NoCore4)) { CoreNo = 4 ; }
if (NoCore.equals(NoCore5)) { CoreNo = 5 ; }
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
});
希望这可以帮助其他有同样问题的人 在Spinner上设置默认选择。
然而,当这样做时,对话框的布局不太好, 单选按钮丢失,看起来像文本选择 用划分划分的线条。