Android 控件之 Spinner下拉列表 使用简单总结
2013-01-23 13:44
726 查看
在做项目时,经常用到下拉列表,下拉列表的数据源不管是本地数据还是从服务器下载缓存到本地的数据,道理大同小异,设置下拉列表的步骤是一样的。简单总结设置Spinner的步骤如下:
1. 建立一个需要显示存放Spinner控件的layout布局文件。
2. 建立一个存放Spinner列表控件内容样式的布局文件(可以使用系统的)。
3. 在需要处理Spinner控件的Activity中,获取Spinner的数据源。例如本地数据源String[]
datasource = {“test”,”native”,”code”}。
4. 在Activity中定义一个内容适配器adapter,用来装载Spinner数据和显示样式(样式可以自定义或者使用系统的)。
5. 给下拉列表设置内容样式。例如:arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)。
6. 下拉列表装载上面的适配器。
7. 如果进行动态添加或删除下拉列表内容,均是通过添加或删除内容适配器adpter的数据来实现的。
简单Demo如下:
关于下拉列表的其他显示样式(风格),如带单选按钮、多选之类的,道理差不多,留着备用,自己参考。
备注:欢迎大家补充spinner用法。
1. 建立一个需要显示存放Spinner控件的layout布局文件。
2. 建立一个存放Spinner列表控件内容样式的布局文件(可以使用系统的)。
3. 在需要处理Spinner控件的Activity中,获取Spinner的数据源。例如本地数据源String[]
datasource = {“test”,”native”,”code”}。
4. 在Activity中定义一个内容适配器adapter,用来装载Spinner数据和显示样式(样式可以自定义或者使用系统的)。
5. 给下拉列表设置内容样式。例如:arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)。
6. 下拉列表装载上面的适配器。
7. 如果进行动态添加或删除下拉列表内容,均是通过添加或删除内容适配器adpter的数据来实现的。
简单Demo如下:
import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; /** * 下拉列表显示 * */ public class SpinnerActivity extends Activity { //定义下拉列表 private Spinner spinner_info = null; //定义为下拉列表(spinner)添加一条信息的Button按钮 private Button btn_spinner_add = null; //定义为下拉列表(spinner)删除一条信息的Button按钮 private Button btn_spinner_del = null; //定义一个字符串数组 private String[] args = {"jinan","zhonggong","licheng"}; //内容适配器的数据源,由于用到了动态添加或删除下拉列表数据,因此数据源采用了动态list数组而非静态String数组 private List<String> list = null; //定义一个内容适配器 private ArrayAdapter<String> arrayAdapter = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_spinner); //初始化控件信息 initView(); } /** * 初始化控件信息 * */ private void initView(){ //数据源添加数据 list = new ArrayList<String>(); for(String arg:args){ list.add(arg); } //spinner对象 spinner_info = (Spinner)findViewById(R.id.spinner_info); //定义并初始化内容适配器,加载数据及样式,采用系统自带的样式 arrayAdapter = new ArrayAdapter<String>(SpinnerActivity.this,android.R.layout.simple_spinner_item,list); //设置下拉列表的显示样式(风格),采用系统自带的样式(风格) arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //为下拉列表添加适配器 spinner_info.setAdapter(arrayAdapter); /* 下拉列表选择事件 */ spinner_info.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Toast.makeText(SpinnerActivity.this, "我点选了"+args[arg2].toString(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); /* 下拉列表(spinner)添加一条信息 */ btn_spinner_add = (Button)findViewById(R.id.btn_spinner_add); btn_spinner_add.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {// String add_info = "我是新添加的数据"; //向内容适配器添加一条信息 arrayAdapter.add(add_info); //获取新添加的信息的位置 int position = arrayAdapter.getPosition(add_info); //设置新添加的信息为选中状态 spinner_info.setSelection(position); } }); /* 下拉列表(spinner)删除一条信息 */ btn_spinner_del = (Button)findViewById(R.id.btn_spinner_delete); btn_spinner_del.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //移除所选信息 arrayAdapter.remove(spinner_info.getSelectedItem().toString()); } }); } }
关于下拉列表的其他显示样式(风格),如带单选按钮、多选之类的,道理差不多,留着备用,自己参考。
备注:欢迎大家补充spinner用法。
相关文章推荐
- 【Android 开发】:UI控件之 Spinner 下拉列表控件的使用
- Android中Spinner的使用及其详细总结(可实现下拉列表)
- Android常用控件—Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- Android之下拉列表Spinner控件使用
- Spinner下拉列表控件属性的使用细节总结
- 【android控件学习笔记】使用Spinner实现下拉列表
- 【转】Android:控件Spinner实现下拉列表
- Android中使用Spinner实现下拉列表
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- Android使用控件Spinner实现下拉菜单列表
- 【转】Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- Android——使用Spinner实现下拉列表
- 安卓控件使用系列25:Spinner下拉列表控件的使用方法
- android控件--Spinner的简单使用
- Android 下拉列表Spinner控件
- 增加Android下spinner控件的点击下拉列表自动更新事件并实例应用--USB摄像头在spinner内下拉更新(一)
- Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri
- Android 控件之七:Spinner 下拉列表
- android学习之下拉列表Spinner使用
- Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri