main.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>
string.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.xml
和strings.xml
。我想知道为什么旋转器项目不会显示在屏幕上。单击设备中的微调器时,不会显示该列表。我不是指正确的微调元素,还是缺少它们?
答案 0 :(得分: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"/>
等等......
答案 1 :(得分:1)
如果没有显示任何项目,则可能没有正确地向旋转器提供这些项目。请参阅Populate the Spinner with User Choices。
从这个页面出现了四个问题;有你:
Spinner spinner =(Spinner)findViewById(R.id。 spinner );
ArrayAdapter adapter = ArrayAdapter.createFromResource(此,R.array。的旋转器下, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(适配器);
确保在用户可以按下微调器按钮之前在Activity中执行所有这些操作,例如在OnCreate()方法中。
答案 2 :(得分: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);