我有一个微调控制项,它使用来自strings.xml的数组
如果数组有5个字符串(1,2,3,4,5),我希望微调器将第二个字符串(2)显示为默认值,这可能吗?我知道我可以重新排列字符串的顺序,使第一个是2,但是如果微调器对话框显示为(2,1,3,4,5),这看起来就不是很好。
或者必须在我的activity中以编程方式创建数组,然后使用setPostion()?我已经尝试过了,但在activity中创建数组时遇到错误。谁能给我一个如何创建数组并在spinner()中使用它的例子?
我也在这里寻找答案,但似乎找不到我需要的东西。
谢谢你的关注..。
发布于 2011-12-15 02:41:31
我建议你检查一下:http://developer.android.com/resources/tutorials/views/hello-spinner.html
您应该在您的活动中创建一个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)));来设置位置。
发布于 2011-12-15 22:59:22
为回复干杯……
我没有做我需要的事情,但我已经设法解决了我的问题,如下所示。
首先,我在我的activity中创建了一个数组,而不是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);然后操作的其余微调代码..。
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.
}
});希望这能帮助其他有同样问题的人在微调器上设置默认选择。
但是,如果使用这种方式,对话框的布局就不那么好了,缺少单选按钮,看起来就像是用线条分隔部分的文本选择。
https://stackoverflow.com/questions/8509488
复制相似问题