Android中,給Spinner組件裝填數據比較常見的有以下兩種方法:
一、編程載入列表數據
效果圖:
首先,在佈局文件main.xml中添加spinner組件,代碼如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Spinner_1"
- />
- <Spinner
- android:id="@+id/spinner_1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
然後,在MainActivity.java中,自定義方法add_list()進行Spinner的數據裝載,代碼如下:
- public class MainActivity extends Activity {
- private static final String[] mCountries = { "中國", "美國", "日本",
- "俄羅斯", "加拿大" };
- Spinner sp = null;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- add_list();
- }
- private void add_list() {
- sp = (Spinner) findViewById(R.id.spinner_1);
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_spinner_item, mCountries);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- sp.setAdapter(adapter);
- }
- }
二、在XML中預定義列表數據
首先,在strings.xml中定義列表數據,代碼如下:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="hello">Hello World, MainActivity!</string>
- <string name="app_name">SpinnerTest</string>
- <string-array name="countries">
- <item>中國</item>
- <item>美國</item>
- <item>日本</item>
- <item>俄羅斯</item>
- <item>加拿大</item>
- </string-array>
- </resources>
其次,在佈局文件main.xml中添加spinner組件,代碼如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Spinner_1"
- />
- <Spinner
- android:id="@+id/spinner_1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
最後,在MainActivity.java中,進行Spinner的數據裝載,代碼如下:
- public class MainActivity extends Activity {
- Spinner sp = null;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- sp = (Spinner) findViewById(R.id.spinner_1);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
- this, R.array.countries,
- android.R.layout.simple_spinner_dropdown_item);
- sp.setAdapter(adapter);
- }
- }