您的位置:首页 > 其它

Spinner与适配器Adapter使用总结

2014-06-17 08:52 232 查看
Spinner的使用离不开和Adapter结合使用,下面将基本的常用法介绍一下,主要还是为初学者提供些帮助

第一步:创建布局文件

[html] view
plaincopy

<?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结合使用

[java] view
plaincopy

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);

}

}

第四步:演示效果

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