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


    下拉列表 Spinner。 

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

    Demo如下,可以留作参考 

    一、使用数组作为数据源
     

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

    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout  
    3.   xmlns:android="http://schemas.android.com/apk/res/android"  
    4.   android:layout_width="fill_parent"  
    5.   android:layout_height="fill_parent"  
    6.   android:orientation="vertical"  
    7.   >  
    8.   <TextView android:id="@+id/spinnerText"  
    9.             android:layout_width="fill_parent"   
    10.             android:layout_height="wrap_content"></TextView>  
    11.   <Spinner android:id="@+id/Spinner01"   
    12.            android:layout_width="fill_parent"  
    13.            android:layout_height="wrap_content"></Spinner>  
    14. </LinearLayout>  



    3.java代码 

    Java代码  收藏代码
    1. import android.app.Activity;  
    2. import android.os.Bundle;  
    3. import android.view.View;  
    4. import android.widget.AdapterView;  
    5. import android.widget.AdapterView.OnItemSelectedListener;  
    6. import android.widget.ArrayAdapter;  
    7. import android.widget.Spinner;  
    8. import android.widget.TextView;  
    9.   
    10. public class SpinnerActivity extends Activity {  
    11.       
    12.     private static final String[] m={"A型","B型","O型","AB型","其他"};  
    13.     private TextView view ;  
    14.     private Spinner spinner;  
    15.     private ArrayAdapter<String> adapter;  
    16.     @Override  
    17.     protected void onCreate(Bundle savedInstanceState) {  
    18.         // TODO Auto-generated method stub  
    19.         super.onCreate(savedInstanceState);  
    20.         setContentView(R.layout.spinner);  
    21.           
    22.         view = (TextView) findViewById(R.id.spinnerText);  
    23.         spinner = (Spinner) findViewById(R.id.Spinner01);  
    24.         //将可选内容与ArrayAdapter连接起来  
    25.         adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);  
    26.           
    27.         //设置下拉列表的风格  
    28.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
    29.           
    30.         //将adapter 添加到spinner中  
    31.         spinner.setAdapter(adapter);  
    32.           
    33.         //添加事件Spinner事件监听    
    34.         spinner.setOnItemSelectedListener(new SpinnerSelectedListener());  
    35.           
    36.         //设置默认值  
    37.         spinner.setVisibility(View.VISIBLE);  
    38.           
    39.     }  
    40.       
    41.     //使用数组形式操作  
    42.     class SpinnerSelectedListener implements OnItemSelectedListener{  
    43.   
    44.         public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  
    45.                 long arg3) {  
    46.             view.setText("你的血型是:"+m[arg2]);  
    47.         }  
    48.   
    49.         public void onNothingSelected(AdapterView<?> arg0) {  
    50.         }  
    51.     }  
    52. }  


    4、运行效果如下: 

     

     


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

    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <resources>  
    3.     <string-array name="plantes">  
    4.         <item>NOKIA</item>  
    5.         <item>MOTO</item>  
    6.         <item>HTC</item>  
    7.         <item>LG</item>  
    8.         <item>其他</item>  
    9.     </string-array>  
    10. </resources>  


    3.java代码 

    Java代码  收藏代码
    1. import android.app.Activity;  
    2. import android.os.Bundle;  
    3. import android.view.View;  
    4. import android.widget.AdapterView;  
    5. import android.widget.AdapterView.OnItemSelectedListener;  
    6. import android.widget.ArrayAdapter;  
    7. import android.widget.Spinner;  
    8. import android.widget.TextView;  
    9.   
    10. public class SpinnerActivity extends Activity {  
    11.       
    12.     private TextView view2;  
    13.     private Spinner spinner2;  
    14.     private ArrayAdapter adapter2;  
    15.   
    16.     @Override  
    17.     protected void onCreate(Bundle savedInstanceState) {  
    18.         // TODO Auto-generated method stub  
    19.         super.onCreate(savedInstanceState);  
    20.         setContentView(R.layout.spinner);  
    21.   
    22.         spinner2 = (Spinner) findViewById(R.id.spinner02);  
    23.         view2 = (TextView) findViewById(R.id.spinnerText02);  
    24.   
    25.         //将可选内容与ArrayAdapter连接起来  
    26.         adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);  
    27.   
    28.         //设置下拉列表的风格   
    29.  adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
    30.   
    31.         //将adapter2 添加到spinner中  
    32.         spinner2.setAdapter(adapter2);  
    33.   
    34.         //添加事件Spinner事件监听    
    35.         spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());  
    36.   
    37.         //设置默认值  
    38.         spinner2.setVisibility(View.VISIBLE);  
    39.           
    40.     }  
    41.       
    42.     //使用XML形式操作  
    43.     class SpinnerXMLSelectedListener implements OnItemSelectedListener{  
    44.         public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  
    45.                 long arg3) {  
    46.             view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));  
    47.         }  
    48.   
    49.         public void onNothingSelected(AdapterView<?> arg0) {  
    50.               
    51.         }  
    52.           
    53.     }  
    54. }  



    4、运行效果如下: 

     

     

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

  • 相关阅读:
    php中处理汉字字符串长度:strlen和mb_strlen
    天气应用收获总结
    word文档每章的页眉页脚设置
    python资料汇总
    linux 命令——61 wget(转)
    linux 命令——58 ss(转)
    linux 命令——56 ss(转)
    linux 命令——56 netstat(转)
    linux 命令——55 traceroute(转)
    linux 命令——54 ping(转)
  • 原文地址:https://www.cnblogs.com/manmanlu/p/3816054.html
Copyright © 2020-2023  润新知