Spinner与适配器Adapter使用总结

Spinner的使用离不开和Adapter结合使用,下面将基本的常用法介绍一下,主要还是为初学者提供些帮助

第一步:创建布局文件

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+id/mylinearlayout"  
  4.     android:orientation="vertical"  
  5.     android:layout_width="fill_parent"  
  6.     android:layout_height="fill_parent"  
  7.     >  
  8. <Spinner    
  9.     android:id="@+id/spinner1"  
  10.     android:layout_width="fill_parent"   
  11.     android:layout_height="wrap_content"   
  12.     android:entries="@array/countrys"  
  13.     />  
  14.  <Spinner    
  15.     android:id="@+id/spinner2"  
  16.     android:layout_width="fill_parent"   
  17.     android:layout_height="wrap_content"   
  18.     />  
  19.   <Spinner    
  20.     android:id="@+id/spinner3"  
  21.     android:layout_width="fill_parent"   
  22.     android:layout_height="wrap_content"   
  23.     />  
  24.    <Spinner    
  25.     android:id="@+id/spinner4"  
  26.     android:layout_width="fill_parent"   
  27.     android:layout_height="wrap_content"   
  28.     />  
  29.   
  30. </LinearLayout>  

第二步:在资源文件中定义如下:

    <string-array name="countrys">
       <item>aaa</item>
       <item>bbb</item>
       <item>ccc</item>
       <item>ddd</item>
    </string-array>

 

第三步:写测试类和Spinner结合使用

 

[java]  view plain copy
  1. public class AndroidPracticeTestActivity extends Activity {   
  2.     private Spinner spinner1=null;  
  3.     private Spinner spinner2=null;  
  4.     private Spinner spinner3=null;  
  5.     private Spinner spinner4=null;  
  6.     private String obj[]={"abc","cbd","acd","efg"};  
  7.     @Override  
  8.     public void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.spinner_main);  
  11.         //获取Spinner对象  
  12.         spinner1=(Spinner)findViewById(R.id.spinner1);  
  13.         spinner2=(Spinner)findViewById(R.id.spinner2);  
  14.         spinner3=(Spinner)findViewById(R.id.spinner3);  
  15.         spinner4=(Spinner)findViewById(R.id.spinner4);  
  16.         //Spinner添加监听  
  17.         spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {  
  18.   
  19.             @Override  
  20.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  21.                     int arg2, long arg3) {  
  22.                 System.out.println("spinner1arg3="+arg3);  
  23.             }  
  24.   
  25.             @Override  
  26.             public void onNothingSelected(AdapterView<?> arg0) {  
  27.                 // TODO Auto-generated method stub  
  28.                   
  29.             }  
  30.         });  
  31.           
  32.         //定义适配器  
  33.         ArrayAdapter<String> adapter2=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, obj);  
  34.         adapter2.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);  
  35.         spinner2.setAdapter(adapter2);  
  36.         spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {  
  37.   
  38.             @Override  
  39.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  40.                     int arg2, long arg3) {  
  41.                 System.out.println("spinner2arg3="+arg3);  
  42.             }  
  43.   
  44.             @Override  
  45.             public void onNothingSelected(AdapterView<?> arg0) {  
  46.                 // TODO Auto-generated method stub  
  47.                   
  48.             }  
  49.         });  
  50.         //定义适配器  
  51.         ArrayAdapter<CharSequence> adapter3=ArrayAdapter.createFromResource(this, R.array.countrys, android.R.layout.simple_list_item_1);  
  52.         adapter3.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);  
  53.         spinner3.setAdapter(adapter3);  
  54.         spinner3.setOnItemSelectedListener(new OnItemSelectedListener() {  
  55.   
  56.             @Override  
  57.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  58.                     int arg2, long arg3) {  
  59.                 System.out.println("spinner3arg3="+arg3);  
  60.             }  
  61.   
  62.             @Override  
  63.             public void onNothingSelected(AdapterView<?> arg0) {  
  64.                 // TODO Auto-generated method stub  
  65.                   
  66.             }  
  67.         });  
  68.         //自定义适配器  
  69.         BaseAdapter ma= new BaseAdapter(){  
  70.   
  71.             @Override  
  72.             public int getCount() {  
  73.                 // TODO Auto-generated method stub  
  74.                 return 5;  
  75.             }  
  76.   
  77.             @Override  
  78.             public Object getItem(int arg0) {  
  79.                 if(arg0==0){  
  80.                     return "a";  
  81.                 }else if(arg0==1){  
  82.                     return "b";  
  83.                 }else if(arg0==2){  
  84.                     return "c";  
  85.                       
  86.                 }else if(arg0==3){  
  87.                     return "d";  
  88.                       
  89.                 }else if(arg0==4){  
  90.                     return "e";  
  91.                 }else{  
  92.                     return "jjj";  
  93.                 }  
  94.             }  
  95.   
  96.             @Override  
  97.             public long getItemId(int arg0) {  
  98.                 // TODO Auto-generated method stub  
  99.                 return 0;  
  100.             }  
  101.   
  102.             @Override  
  103.             public View getView(int position, View convertView, ViewGroup parent) {  
  104.                 TextView tv=new TextView(AndroidPracticeTestActivity.this);  
  105.                 tv.setText((String)getItem(position));  
  106.                 tv.setTextColor(Color.RED);  
  107.                 return tv;  
  108.             }  
  109.               
  110.         };  
  111.         spinner4.setAdapter(ma);  
  112.     }  
  113.       
  114.       
  115. }  


第四步:演示效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值