-1

主.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Choose Details"
            android:id="@+id/textView"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Year"
            android:id="@+id/textView2"
            android:layout_below="@+id/textView"
            android:layout_alignParentLeft="true"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Branch"
            android:id="@+id/textView3"
            android:layout_below="@+id/textView2"
            android:layout_alignParentLeft="true"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Semester"
            android:id="@+id/textView4"
            android:layout_below="@+id/textView3"
            android:layout_alignParentLeft="true"/>

    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spinner"
            android:layout_below="@+id/textView"
            android:layout_alignParentRight="true"
            android:layout_above="@+id/textView3"/>

    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spinner2"
            android:layout_below="@+id/spinner"
            android:layout_alignParentRight="true"
            android:layout_alignBottom="@+id/textView3"/>

    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spinner3"
            android:layout_below="@+id/spinner2"
            android:layout_alignParentRight="true"
            android:layout_alignBottom="@+id/textView4"/>


</RelativeLayout>

字符串.xml:

    <string name="app_name">SRMSyl</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
    <string-array name="spinner">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New</item>
        <item>India</item>
    </string-array>
    <string-array name="spinner2">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New</item>
        <item>India</item>
    </string-array>
    <string-array name="spinner3">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New</item>
        <item>India</item>
    </string-array>

</resources>

我已经给了我的main.xmland strings.xml。我想知道为什么微调器项目没有显示在屏幕上。当我单击设备中的微调器时,列表未显示。我指的不是正确的微调器元素还是缺少它们的东西?

4

3 回答 3

3

要直接从 XML 填充Spinner项目,您需要为它们提供一个android:entries值:

android:entries="@array/array_name"

http://developer.android.com/reference/android/widget/AbsSpinner.html#attr_android:entries

对将填充 Spinner 的数组资源的引用。对于静态内容,这比以编程方式填充 Spinner 更简单。

所以在你的情况下:

<Spinner
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/spinner"
    android:entries="@array/spinner"
    android:layout_below="@+id/textView"
    android:layout_alignParentRight="true"
    android:layout_above="@+id/textView3"/>

等等...

于 2013-06-25T08:30:36.080 回答
1

如果您想动态填充 Spinner 数据,可以替代 Ken Wolf 的答案,如下所示:

首先初始化Spinners如下:

Spinner spn1  = (Spinner)findViewById(R.id.spn1);
Spinner spn2  = (Spinner)findViewById(R.id.spn2);
Spinner spn3  = (Spinner)findViewById(R.id.spn3);

接下来,将字符串数组添加到ArrayAdapter如下:

ArrayAdapter<String> adapter1= new ArrayAdapter<String(this,android.R.layout.simple_spinner_item, R.array.array_spinner1);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ArrayAdapter<String> adapter2= new ArrayAdapter<String(this,android.R.layout.simple_spinner_item, R.array.array_spinner2);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ArrayAdapter<String> adapter3= new ArrayAdapter<String(this,android.R.layout.simple_spinner_item, R.array.array_spinner3);
adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

接下来将 ArrayAdapter 添加到 Spinner 以填充所有数组数据的列表,如下所示:

spn1.setAdapter(adapter1);
spn2.setAdapter(adapter1);
spn3.setAdapter(adapter1);
于 2013-06-25T09:25:39.130 回答
1

如果未显示任何项目,则可能未将项目正确提供给微调器。请参阅使用用户选择填充微调器

从这个页面出现了四个问题;你:

  • 正确识别您的微调器?

Spinner spinner = (Spinner) findViewById(R.id. spinner );

  • 从您的字符串数组创建了一个 ArrayAdapter?

ArrayAdapter 适配器 = ArrayAdapter.createFromResource(this,R.array.spinner , android.R.layout.simple_spinner_item);

  • 指定列表出现时使用的布局?

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

  • 将适配器应用于微调器?

spinner.setAdapter(适配器);

确保所有这些都在您的 Activity 中执行,然后用户才能按下微调器按钮,例如在 OnCreate() 方法中。

于 2013-06-25T08:41:55.633 回答