【问题标题】:Android: Add items to spinner with a loopAndroid:使用循环将项目添加到微调器
【发布时间】:2013-06-03 19:55:01
【问题描述】:

我正在尝试将项目添加到带有循环的微调器,但无法使其工作。 XML 阅读器部分有效,我只需要填充微调器。我试图修改这里复制粘贴的代码 sn-p(带有 simple_spinner_item 的代码)但没有成功。

工作流程:

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" />

查看:

//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();

【问题讨论】:

    标签: android xml spinner


    【解决方案1】:

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

    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);
    

    【讨论】:

    • 谢谢,成功了!您知道为什么微调器看起来与通过 strings.xml 手动添加值不同吗?当我使用手动方法时,列表项总是很大,旁边有一个绿色单选按钮,并且列表是可滚动的。使用这种方法,文本更小,它们之间总是有一个空白条目,并且没有单选按钮。
    • 没问题,你需要改变资源id来改变spinner的外观。玩弄 android.R.layout. 或尝试其他方法 mySpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) 等等。我记不清了,但其中一种方法应该可以帮助你。
    • 嗯,这也行得通,但是把我的“普通”微调按钮变成了一个大按钮,看起来像是弹出的微调列表中的一个项目。我想我会保持原样!
    猜你喜欢
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    相关资源
    最近更新 更多