Spinner --- 功能和用法

第一种方法:

使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组

在res下的values文件夹下新建一个xml文件

内容为:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="book">
    <item>《java开发实战经典》</item>
    <item>《J2EE轻量级框架》</item>
    <item>《平凡的世界》</item>
    <item>《西方哲学简史》</item>
    <item>《白鹿原》</item>
    <item>《人性的弱点》</item>
</string-array>

</resources>
View Code

界面显示文件配置为:

使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组

在res下的values文件夹下新建一个xml文件

内容为:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="book">
    <item>《java开发实战经典》</item>
    <item>《J2EE轻量级框架》</item>
    <item>《平凡的世界》</item>
    <item>《西方哲学简史》</item>
    <item>《白鹿原》</item>
    <item>《人性的弱点》</item>
</string-array>

</resources>

 

 

界面显示文件配置为:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:entries="@array/book"   ————>引入资源文件
        android:prompt="@string/tishi"  ——配置下拉列表的提示语,不可以直接写字符串,必须从资源文件中引入字符串
        />

</LinearLayout>
View Code

第二种方法:

values中的string.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, SpinnerActivity!</string>
    <string name="app_name">Spinner</string>
    <string name="tishi">请选择你喜欢的书籍</string>

</resources>
View Code

在程序中配置下拉列表中的信息,并设置下拉列表的现实风格

arrayadapter用来解析数据

程序代码如下:

public class SpinnerActivity extends Activity {
 Spinner spinner;
 ArrayAdapter<CharSequence> arrayadapter;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        arrayadapter=ArrayAdapter.createFromResource(this, R.array.book,android.R.layout.simple_spinner_item);

        spinner=(Spinner)findViewById(R.id.spinner2);
        arrayadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);-->设置下拉列表的显示风格
        spinner.setAdapter(arrayadapter);  ————>将arrayadapter配置给Spinner

        
    }
}
View Code

第三种方法:

在Spinner中自定义Adapter,定义一个类继承BaseAdapter,实现父类的方法

public class MyAdapter extends BaseAdapter {
 private Context mycontext;
 public MyAdapter(Context context){
  this.mycontext=context;
 }

 public int getCount() {   //返回该Adapter中view的个数,不写默认为为零
  // TODO Auto-generated method stub
  return 10;
 }

 public Object getItem(int position) {
  // TODO Auto-generated method stub
  return null;
 }

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

 public View getView(int position, View convertView, ViewGroup parent) {

//返回自定义的view
  TextView tv=new TextView(mycontext);
  tv.setText("aaa"+position);
  return tv;
 }

}
View Code

Activity中的实现代码

public class SpinnerActivity extends Activity {
 Spinner spinner;
 ArrayAdapter<CharSequence> arrayadapter;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        spinner=(Spinner)findViewById(R.id.spinner2);
        MyAdapter myadapter=new MyAdapter(SpinnerActivity.this);
        spinner.setAdapter(myadapter);
  
    }
}
View Code
原文地址:https://www.cnblogs.com/androidsj/p/3259902.html