1

这是我的第一个安卓应用,我是一个笔记应用。但是现在我遇到了微调器的问题。

在我的一个屏幕中,我有一个Spinner用户可以从给定类别中选择的屏幕。现在的问题是微调器中有正确数量的项目,并且注释被分配到正确的类别,但微调器中只有黑条而不是类别名称。

也许你们中的一些人遇到过同样的问题或知道如何处理它。下面是我如何创建和填充微调器的代码。

微调器layout.xml

<Spinner
    android:id="@+id/note_cat_value_dd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/note_name_value_tf"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/note_name_value_tf"
    android:prompt="@string/note_spin_prompt"
    android:textSize="12sp" />

填充微调器:

    Cursor cat = connect.query("category", new String[] {"_id", "name"}, null, null, null, null, null);
    ArrayList<String> options=new ArrayList<String>();
    cat_spin = (Spinner) findViewById(R.id.note_cat_value_dd);

    while(cat.moveToNext())
        options.add(cat.getString(1));      

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,options);
    cat_spin.setAdapter(adapter);

并且没有其他代码包含微调器,除了一次我用"cat = cat_spin.getSelectedItem().toString();".

4

1 回答 1

2

您还需要设置 drop_down_item 布局,Spinner 使用两种不同的布局。一种用于折叠微调器 (spinner_simple_item),一种用于下拉列表中每个选项的布局:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
于 2013-01-11T13:44:34.410 回答