Spinner与适配器Adapter使用总结

来源:互联网 发布:目标利润推算法 编辑:程序博客网 时间:2024/04/29 06:46

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() {@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {System.out.println("spinner1arg3="+arg3);}@Overridepublic 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() {@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {System.out.println("spinner2arg3="+arg3);}@Overridepublic 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() {@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {System.out.println("spinner3arg3="+arg3);}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}});        //自定义适配器        BaseAdapter ma= new BaseAdapter(){@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 5;}@Overridepublic 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";}}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic 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);    }        }


第四步:演示效果


 

原创粉丝点击