Spinner与适配器Adapter使用总结

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

第一步:创建布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/mylinearlayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Spinner  
	android:id="@+id/spinner1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:entries="@array/countrys"
    />
 <Spinner  
	android:id="@+id/spinner2"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
  <Spinner  
	android:id="@+id/spinner3"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
   <Spinner  
	android:id="@+id/spinner4"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />

</LinearLayout>

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

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

 

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

 

public class AndroidPracticeTestActivity extends Activity {	
	private Spinner spinner1=null;
	private Spinner spinner2=null;
	private Spinner spinner3=null;
	private Spinner spinner4=null;
	private String obj[]={"abc","cbd","acd","efg"};
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.spinner_main);
        //获取Spinner对象
        spinner1=(Spinner)findViewById(R.id.spinner1);
        spinner2=(Spinner)findViewById(R.id.spinner2);
        spinner3=(Spinner)findViewById(R.id.spinner3);
        spinner4=(Spinner)findViewById(R.id.spinner4);
        //Spinner添加监听
        spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				System.out.println("spinner1arg3="+arg3);
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}
		});
        
        //定义适配器
        ArrayAdapter<String> adapter2=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, obj);
        adapter2.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner2.setAdapter(adapter2);
        spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				System.out.println("spinner2arg3="+arg3);
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}
		});
        //定义适配器
        ArrayAdapter<CharSequence> adapter3=ArrayAdapter.createFromResource(this, R.array.countrys, android.R.layout.simple_list_item_1);
        adapter3.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner3.setAdapter(adapter3);
        spinner3.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				System.out.println("spinner3arg3="+arg3);
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}
		});
        //自定义适配器
        BaseAdapter ma= new BaseAdapter(){

			@Override
			public int getCount() {
				// TODO Auto-generated method stub
				return 5;
			}

			@Override
			public Object getItem(int arg0) {
				if(arg0==0){
					return "a";
				}else if(arg0==1){
					return "b";
				}else if(arg0==2){
					return "c";
					
				}else if(arg0==3){
					return "d";
					
				}else if(arg0==4){
					return "e";
				}else{
					return "jjj";
				}
			}

			@Override
			public long getItemId(int arg0) {
				// TODO Auto-generated method stub
				return 0;
			}

			@Override
			public View getView(int position, View convertView, ViewGroup parent) {
				TextView tv=new TextView(AndroidPracticeTestActivity.this);
				tv.setText((String)getItem(position));
				tv.setTextColor(Color.RED);
				return tv;
			}
        	
        };
        spinner4.setAdapter(ma);
    }
    
    
}


第四步:演示效果


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值