• 选中条目android spinner的使用


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

        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="计算机院";
         @Override
    	protected 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); 
    	}
    
    	@Override
    	public 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
    选中和条目
    ---------------------------------

  • 相关阅读:
    算法总结之 两个链表生成相加链表
    算法总结之 复制含有随机指针节点的链表
    算法总结之 将单向链表按某值划分成左边小、中间相等、右边大的形式
    在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
    windows下配置nginx+php环境
    ecmall程序结构图与数据库表分析
    ecmall数据字典
    Ecmall二次开发-增删改查操作
    PHP7:10件事情你需要知道的
    PHP命名空间规则解析及高级功能3
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3109044.html
Copyright © 2020-2023  润新知