您的位置:首页 > 其它

Spinner与适配器Adapter使用总结

2012-04-17 11:38 393 查看
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);
}

}


第四步:演示效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: