xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Spinner"/>
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1"
android:drawSelectorOnTop="false"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Spinner2"/>
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner2"
android:drawSelectorOnTop="false"/>
</LinearLayout>
java中onCreate方法:
private ArrayList<String> allcountries;
private ArrayAdapter<String> aspnCountries;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
findview1();
findview2();
为下拉框插入数据有两种方式
方式一:
private static final String[] mCountries={"China","Russia","USA"};
private void findview1()
{
Spinner spinner_c=(Spinner)findViewById(R.id.spinner1);
allcountries=new ArrayList<String>();
for(int i=0;i<mCountries.length;i++)
{
allcountries.add(mCountries[i]);
}
aspnCountries=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,allcountries);
aspnCountries.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_c.setAdapter(aspnCountries);
}
1.allcountries.add(mCountries[i]);先是将数据放在数组allcountries中
2. ArrayAdapter 数组适配器,数组和视图之间的桥梁
3. ArrayAdapter arrayAdapter = new ArrayAdapter( ArrayListDemo.this, android.R.layout.simple_list_item_1, adapterData);
第一个参数是该活动,第二个参数是一个布局,使得数组中的数据按该布局显示,第三个参数是数据
4.setDropDownViewResource 适配器的方法,用于设置设置下拉列表下拉时的菜单样式
5. spinner_c.setAdapter()将适配器运用于组件Spinner中
方式二
private void findview2()
{
Spinner spinner_2=(Spinner)findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,R.array.countries,android.R.layout.simple_spinner_item);
spinner_2.setAdapter(adapter);
}
1.R.array.countries必须在资源文件夹中有资源
2.R.layout.simple_spinner_item是一个样式
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries">
<item>Japan</item>
<item>England</item>
<item>France</item>
<item>Germany</item>
<item>India</item>
</string-array>
</resources>