Android开发之Spinner的使用
来源:互联网 发布:电脑数据流量统计 编辑:程序博客网 时间:2024/06/05 12:04
Android提供了Spinner控件,控件看起来就是一个下拉列表,有一个下拉箭头。当点击下拉箭头,会弹出一个列表。
列表中是一个一个的条目供用户选择。
Spinner的使用
1.在布局文件中声明一个Spinner
<Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" />
2.创建一个SpinnerAdapter适配器
// 根据资源文件创建适配器。// 参数解析:// param1:当前上下文对象。// param2:在String.xml中定义的数组的Id// param3:Android自带的布局文件的ID,用于指定Spinner显示的样式ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinnerArray,android.R.layout.simple_spinner_item);// 设置弹出的窗口中条目的样式。这个也是使用的Android自带的布局文件样式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
3.为Spinner指定创建的适配器
spinner.setAdapter(adapter);
4.添加事件监听器
spinner.setOnItemSelectedListener(new SpinnerOnItemSelectedListener());
完整的代码:
spinner.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
Strings.xml文件的内容:
<string-array name="spinnerArray"> <item>北京</item> <item>上海</item> <item>广州</item> <item>深圳</item> <item>西安</item> <item>武昌</item> <item>武汉</item> <item>南京</item> </string-array>
Activity:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.Toast;import android.widget.AdapterView.OnItemSelectedListener;import com.and.test.R;public class SpinnerActivity extends Activity {private Spinner spinner = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setContentView(R.layout.spinner);spinner = (Spinner) findViewById(R.id.spinner);// 根据资源文件创建适配器。// 参数解析:// param1:当前上下文对象。// param2:在String.xml中定义的数组的Id// param3:Android自带的布局文件的ID,用于指定Spinner显示的样式ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinnerArray,android.R.layout.simple_spinner_item);// 设置弹出的窗口中条目的样式。这个也是使用的Android自带的布局文件样式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);spinner.setOnItemSelectedListener(new SpinnerOnItemSelectedListener());}class SpinnerOnItemSelectedListener implements OnItemSelectedListener{// adapterView:整个弹出窗口// view:当前被选中的条目// position:当前被选中的位置// id:当前被选中的条件的id@Overridepublic void onItemSelected(AdapterView<?> adapterView, View view, int position,long id) {String selectedItem = adapterView.getItemAtPosition(position).toString();Toast.makeText(SpinnerActivity.this, "你选中的是:" + selectedItem, Toast.LENGTH_SHORT).show();}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {Toast.makeText(SpinnerActivity.this, "没有选中任何一项", Toast.LENGTH_SHORT).show();}}}运行后看起来是这样:
单击右边的下拉箭头,弹出选择窗口
ArrayAdapter还可以这样创建:List<String> citys = new ArrayList<String>();citys.add("广州");citys.add("上海");citys.add("北京");citys.add("深圳");citys.add("南京");ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, citys);adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);spinner.setAdapter(adapter);spinner.setPrompt("选择一个城市");spinner.setOnItemSelectedListener(new SpinnerOnItemSelectedListener());
- Android开发之Spinner的使用
- Android开发之Spinner的使用
- Android开发之spinner的使用
- Android开发之Spinner控件使用
- Android开发之Spinner
- Android开发之Spinner
- Android开发--Spinner控件的使用
- android开发中spinner控件的使用
- Android 之 下拉框(Spinner)的使用
- Android 之 下拉框(Spinner)的使用
- Android 之 下拉框(Spinner)的使用
- Android 之 下拉框(Spinner)的使用
- Android 之 下拉框(Spinner)的使用
- android控件之spinner的使用
- Android 之 下拉框(Spinner)的使用
- android 之 Spinner 下拉菜单的使用
- Android 之 下拉框(Spinner)的使用
- Android 之 下拉框(Spinner)的使用
- 设计模式之状态模式
- RGB和Raw RGB
- Swing中JScrollPane添加JPanel设置setPreferredSize问题
- Tar.bz2怎么安装,tar.gz怎么安装
- 线程同步基础知识
- Android开发之Spinner的使用
- WebView作为嵌入浏览器进行OAuth1.0认证
- POJ2553 The Bottom of a Graph
- PB编译生成的BIN文件的格式
- Friends ZOJ Problem Set - 3710 the 10th 浙江ACM赛
- 黑马程序员 ASP.NET中 CheckboxList.Items.Count=0的解决办法
- 【代码生成】针对单表生成CRUD的存储过程
- WWDC 2012 Session笔记—— Modern Objective-C
- Android官方提供的支持不同屏幕大小的全部方法