2013-06-03 83 views
0

我试图将项目添加到带有循环的微调器,但无法使其工作。 XML阅读器的一部分工作,我只需要填写微调。我试图修改那些在这里被copypasted的代码片段(使用simple_spinner_item的代码片段),但没有成功。Android:将项目添加到带有循环的微调器

工作流程:

1) There's an empty spinner 
2) Delete all items in the spinner (in case I add items to it again) 
3) Parse XML 
4) Add the items from the XML to the spinner 

布局:

<Spinner 
    android:id="@+id/SPI_Test" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
     android:prompt="@string/test_prompt" /> 

VIEW:

//SPINNER 
Spinner mySpinner = (Spinner) findViewById(R.id.SPI_Test); 


//CLEAR OUT SPINNER SOMEHOW 

//XML READER BOTTOM PART 
for (int j = 0; j < childNodes.getLength()-1; j++) { 
    Node item = childNodes.item(j); 
//SOMEHOW_ADD_TO_SPINNER=item.getTextContent(); 

回答

2

您需要更改适配器支持微调。事情是这样的:

ArrayList<String> stringArrayList = new ArrayList<String>(); 

然后在你的for循环

stringArrayList.add(item.getTextContent()); 

然后交换适配器微调

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, stringArrayList); 
mySpinner.setAdapter(adapter); 
+0

谢谢,成功了!你知道为什么spinner看起来不同于通过strings.xml手动添加值吗?当我使用手动方法时,列表项总是很大,旁边有一个绿色的单选按钮,列表是可滚动的。使用这种方法,文本更小,它们之间始终有一个空白条目,并且没有单选按钮。 – CodeBunny

+0

没问题,您需要更改资源ID以更改微调器的外观。玩android.R.layout。 或尝试使用其他方法mySpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)等。我不记得确切,但其中一种方法应该可以帮到你。 –

+0

嗯,那也行,但是把我的“普通”微调按钮变成了一个看起来像是弹出的微调列表中的项目的大按钮。猜猜我会离开它! – CodeBunny

相关问题