• Android 之 下拉框(Spinner)的使用


     
    注意:Spinner的setAdapter方法可以设置为ArrayAdapter和BaseAdapter的子类,可以不使用体统的选择,这里可以根据自己的喜好自行设置
     
     


    一、使用数组作为数据源
     

    1.新建一个android的工程 
    2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件 

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      >
      <TextView android:id="@+id/spinnerText"
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content"></TextView>
      <Spinner android:id="@+id/Spinner01" 
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"></Spinner>
    </LinearLayout>
    

    3.java代码 

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;
    
    public class SpinnerActivity extends Activity {
        
        private static final String[] m={"A型","B型","O型","AB型","其他"};
        private TextView view ;
        private Spinner spinner;
        private ArrayAdapter<String> adapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.spinner);
            
            view = (TextView) findViewById(R.id.spinnerText);
            spinner = (Spinner) findViewById(R.id.Spinner01);
            //将可选内容与ArrayAdapter连接起来
            adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
            
            //设置下拉列表的风格
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            
            //将adapter 添加到spinner中
            spinner.setAdapter(adapter);
            
            //添加事件Spinner事件监听  
            spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
            
            //设置默认值
            spinner.setVisibility(View.VISIBLE);
            
        }
        
        //使用数组形式操作
        class SpinnerSelectedListener implements OnItemSelectedListener{
    
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                view.setText("你的血型是:"+m[arg2]);
            }
    
            public void onNothingSelected(AdapterView<?> arg0) {
            }
        }
    }
    

    4、运行效果如下: 

    二、使用XML作为数据源 
    1.新建一个android的工程 
    2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下: 

     
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="plantes">
            <item>NOKIA</item>
            <item>MOTO</item>
            <item>HTC</item>
            <item>LG</item>
            <item>其他</item>
        </string-array>
    </resources>
    

    3.java代码 

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;
    
    public class SpinnerActivity extends Activity {
        
        private TextView view2;
        private Spinner spinner2;
        private ArrayAdapter adapter2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.spinner);
    
            spinner2 = (Spinner) findViewById(R.id.spinner02);
            view2 = (TextView) findViewById(R.id.spinnerText02);
    
            //将可选内容与ArrayAdapter连接起来
            adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);
    
            //设置下拉列表的风格    
     adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
            //将adapter2 添加到spinner中
            spinner2.setAdapter(adapter2);
    
            //添加事件Spinner事件监听  
            spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());
    
            //设置默认值
            spinner2.setVisibility(View.VISIBLE);
            
        }
        
        //使用XML形式操作
        class SpinnerXMLSelectedListener implements OnItemSelectedListener{
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));
            }
    
            public void onNothingSelected(AdapterView<?> arg0) {
                
            }
            
        }
    }
    
     

    4、运行效果如下: 

  • 相关阅读:
    杭电1005
    幂运算
    oj题目分类
    js判断手机或Pc端登陆.并跳转到相应的页面
    sessionStorage或localStorage实现注册登录demo
    html5手机端定位
    微信小程序开发基础知识总结
    eCharts.js使用心得
    前端性能优化--图片懒加载(lazyload image)
    19 款仿 Bootstrap 后台管理主题下载,finrUI控件,好用的ui框架
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/10250226.html
Copyright © 2020-2023  润新知