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

 

你可能感兴趣的:(Spinner)