zoukankan      html  css  js  c++  java
  • Android 之 下拉框(Spinner)的使用

    下拉列表 Spinner。 

    Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。 

    Demo如下,可以留作参考 

    一、使用数组作为数据源
     

    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、运行效果如下: 

    出处:http://imshare.iteye.com/blog/770950

  • 相关阅读:
    【MVC整理】1.使用 StructureMap 作为 ASP.NET MVC 的 DI 框架
    一个随机列表项算法
    轻量级IOC框架:Ninject
    解决“找不到请求的 .Net Framework 数据提供程序。可能没有安装”的问题
    Vcastr 2.2 flv 网络播放器 参数设置
    C#取汉字首字母
    IIS Express的安装与设置讲解
    清晰的图片缩略方案
    ssh远程连接ubuntu
    【Apache】在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析
  • 原文地址:https://www.cnblogs.com/longhs/p/3863179.html
Copyright © 2011-2022 走看看