最近应用开发的过程中出现了一个小问题,顺便记录一下原因和方法--选中条目

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>

才疏学浅,难免有疏漏错误,请指正!想交流可以留言,独特学习先进。

文章结束给大家分享下程序员的一些笑话语录: 这个世界上只有10种人:懂得二进制的和不懂得二进制的。

--------------------------------- 原创文章 By
选中和条目
---------------------------------

更多相关文章

  1. Material Design: NavigationView FlaotingActionBar SnackBar的
  2. Android(安卓)简单引导页实现
  3. android通讯录之联系人
  4. Android(安卓)实现ListView的点击变色的实例
  5. 解决Android导入新项目时Android.jar包丢失问题
  6. 17. android dialog —— 单选列表对话框
  7. 自定义字体主题+自定义背景+设置radiobutton的字体的选中状态的
  8. ButterKnife的使用详解
  9. 更新ADT20后出现This template depends on Android(安卓)Support

随机推荐

  1. android:HttpURLConnection
  2. android客户端访问网络工具类
  3. Android中onSaveInstanceState和onRestor
  4. Android英语单词记忆程序源码
  5. Android 不能生成R文件,gen目录为空
  6. android代码混淆后gson无法解析问题
  7. android 闪屏页面
  8. android 之关卡锁的实现
  9. Android源码分析-消息队列和Looper
  10. android之PopUpWindow显示Listview(文件列