android spinner的使用
来源:互联网 发布:年轻人 dha omega 知乎 编辑:程序博客网 时间:2024/06/11 04:37
spinner控件由以下几部分组成:
1)String[]——也就是一个String数组,用于存储我们需要显示的条目。
2)Spinner——主要控件,不多说了。
3)ArrayAdapter<String>——适配器,用于将我们定义的条目数组绑定到Spinner上。
需要注意的是多个Spinnner绑定同一个Listener,onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)方法的第一个参数才是我们需要区分的Spinner View,arg2是选中的条目序号。这也是选中后会触发的事件,因此可以在此取出选中的值。示例代码如下:
public class RegisterActivity extends Activity {private EditText register_password;private EditText register_username;private EditText register_email;private EditText register_realname;private EditText register_stunumber;private static final String[] string_year={"1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","20050","2006","2007","2008","2009","2010","2011","2012","2013"};private static final String[] string_month={"1","2","3","4","5","6","7","8","9","10","11","12"};private static final String[] string_day={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};private static final String[] string_group={"教师","本科生","硕士","博士"};private static final String[] string_department={"计算机学院","数学院","外语学院","机械学院","自动化学院","物理学院","化学院","艺术学院","文学院"};private Spinner register_year;private Spinner register_month;private Spinner register_day;private Spinner register_group;private Spinner register_department;private ArrayAdapter<String> register_year_adapter;private ArrayAdapter<String> register_month_adapter;private ArrayAdapter<String> register_day_adapter;private ArrayAdapter<String> register_group_adapter;private ArrayAdapter<String> register_department_adapter;private String selected_year="1980";private String selected_month="1";private String selected_day="1";private String selected_group="教师";private String selected_department="计算机院"; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);register_password=(EditText)findViewById(R.id.register_password);register_password.setInputType(InputType.TYPE_CLASS_TEXT| InputType.TYPE_TEXT_VARIATION_PASSWORD);register_month = (Spinner) findViewById(R.id.register_month); register_month_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,string_month); register_month_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); register_month.setAdapter(register_month_adapter); register_month.setOnItemSelectedListener(new SpinnerSelectedListener()); register_month.setVisibility(View.VISIBLE); register_year = (Spinner) findViewById(R.id.register_year); register_year_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,string_year); register_year_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); register_year.setAdapter(register_year_adapter); register_year.setOnItemSelectedListener(new SpinnerSelectedListener()); register_year.setVisibility(View.VISIBLE); register_day = (Spinner) findViewById(R.id.register_day); register_day_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,string_day); register_day_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); register_day.setAdapter(register_day_adapter); register_day.setOnItemSelectedListener(new SpinnerSelectedListener()); register_day.setVisibility(View.VISIBLE); register_group = (Spinner) findViewById(R.id.register_group); register_group_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,string_group); register_group_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); register_group.setAdapter(register_group_adapter); register_group.setOnItemSelectedListener(new SpinnerSelectedListener()); register_group.setVisibility(View.VISIBLE); register_department = (Spinner) findViewById(R.id.register_department); register_department_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,string_department); register_department_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); register_department.setAdapter(register_department_adapter); register_department.setOnItemSelectedListener(new SpinnerSelectedListener()); register_department.setVisibility(View.VISIBLE); }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.register, menu);return true;}class SpinnerSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if(arg0==register_year) selected_year=string_year[arg2]; else if(arg0==register_month) selected_month=string_month[arg2]; else if(arg0==register_day) selected_day=string_day[arg2]; else if(arg0==register_group) selected_group=string_group[arg2]; else if(arg0==register_department) selected_department=string_department[arg2]; } public void onNothingSelected(AdapterView<?> arg0) { } }}布局文件如下:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="1dp" android:text="生 日" android:textSize="25px" /> <Spinner android:id="@+id/register_year" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0dp" android:layout_marginRight="0dp" /> <Spinner android:id="@+id/register_month" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0dp" android:layout_marginRight="0dp" /> <Spinner android:id="@+id/register_day" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0dp" android:layout_marginRight="0dp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="分 组" android:textSize="25px" /> <Spinner android:id="@+id/register_group" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="院 系" android:textSize="25px" /> <Spinner android:id="@+id/register_department" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout>
才疏学浅,难免有疏漏错误,请指正!想交流可以留言,共同学习进步。
- Android Spinner的使用
- android spinner的使用
- Android Spinner 的使用
- android spinner的使用
- Android spinner 的使用
- android spinner的使用
- 【Android】Spinner的使用
- (Spinner) android中Spinner的使用
- Android的Spinner的使用
- Android中Spinner的使用
- android 中spinner的使用
- Android中Spinner的使用
- Android中Spinner的使用
- android Spinner的简单使用
- android中的Spinner的使用
- Android中Spinner的使用
- Android中Spinner的使用
- android中Spinner的使用
- 内核分区与uboot分区的关系
- 启动函数反汇编
- make menuconfig Config.in语法解析
- SDH & mpls vpn & MSTP
- [精通WindowsSocket网络开发-基于VC++实现]第一章——准备开发环境
- android spinner的使用
- 【视频】Arduino 以太网插板介绍
- MyISAM 和 InnoDB 讲解
- 如何在Azure存储空间(Storage)建立属于自己的备份
- C/C++位运算技巧
- 日历控件 My97DatePicker
- [精通WindowsSocket网络开发-基于VC++实现]第二章——TCP/IP简介
- MSSQL Server 排序规则详解
- svn + apache module 备忘