zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Hadoop Partitioner编程
    Hadoop Mapreduce之WordCount实现
    在linux下编写maven程序
    Hadoop RPC通信机制
    Hadoop 源码分析——Job提交过程
    HDFS的java接口
    hadoop 文件系统shell命令
    同步 vs 异步
    C++ STL详解
    C++中struct和class定义类区别
  • 原文地址:https://www.cnblogs.com/androidsj/p/3259902.html
Copyright © 2011-2022 走看看