TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner。
方法一:
以资源方式,静态展示 Spinner 选项:
- <Spinner
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/spinner2"
- android:entries="@array/spingarr"
- />
复制代码
数据文件:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string-array name="spingarr">
- <item>北京</item>
- <item>上海</item>
- <item>广州</item>
- <item>深圳</item>
- </string-array>
- </resources>
复制代码

用法 2 :
以代码方式,动态展示 Spinner 选项,用适配器给Spinner添加数据
- package com.example.testspanner;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- public class MainActivity extends Activity {
- private Spinner spinner;
- private List<String> data_list;
- private ArrayAdapter<String> arr_adapter;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.spinner);
- spinner = (Spinner) findViewById(R.id.spinner);
-
- //数据
- data_list = new ArrayList<String>();
- data_list.add("北京");
- data_list.add("上海");
- data_list.add("广州");
- data_list.add("深圳");
-
- //适配器
- arr_adapter= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list);
- //设置样式
- arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //加载适配器
- spinner.setAdapter(arr_adapter);
-
- }
- }
复制代码
布局文件增加:
- <Spinner
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/spinner"
- />
复制代码 |
|