当前位置: 代码迷 >> Android >> Android 之 下拉框(Spinner)的施用
  详细解决方案

Android 之 下拉框(Spinner)的施用

热度:449   发布时间:2016-05-01 11:10:47.0
Android 之 下拉框(Spinner)的使用
http://imshare.iteye.com/blog/770950

下拉列表 Spinner。

Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。

Demo如下,可以留作参考

一、使用数组作为数据源

1.新建一个android的工程
2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件
Xml代码 
<?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"    >    <TextView android:id="@+id/spinnerText"              android:layout_width="fill_parent"               android:layout_height="wrap_content"></TextView>    <Spinner android:id="@+id/Spinner01"              android:layout_width="fill_parent"             android:layout_height="wrap_content"></Spinner>  </LinearLayout>  



3.java代码
Java代码 
import android.app.Activity;  import android.os.Bundle;  import android.view.View;  import android.widget.AdapterView;  import android.widget.AdapterView.OnItemSelectedListener;  import android.widget.ArrayAdapter;  import android.widget.Spinner;  import android.widget.TextView;    public class SpinnerActivity extends Activity {            private static final String[] m={"A型","B型","O型","AB型","其他"};      private TextView view ;      private Spinner spinner;      private ArrayAdapter<String> adapter;      @Override      protected void onCreate(Bundle savedInstanceState) {          // TODO Auto-generated method stub          super.onCreate(savedInstanceState);          setContentView(R.layout.spinner);                    view = (TextView) findViewById(R.id.spinnerText);          spinner = (Spinner) findViewById(R.id.Spinner01);          //将可选内容与ArrayAdapter连接起来          adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);                    //设置下拉列表的风格          adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);                    //将adapter 添加到spinner中          spinner.setAdapter(adapter);                    //添加事件Spinner事件监听            spinner.setOnItemSelectedListener(new SpinnerSelectedListener());                    //设置默认值          spinner.setVisibility(View.VISIBLE);                }            //使用数组形式操作      class SpinnerSelectedListener implements OnItemSelectedListener{            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,                  long arg3) {              view.setText("你的血型是:"+m[arg2]);          }            public void onNothingSelected(AdapterView<?> arg0) {          }      }  }  


4、运行效果如下:


二、使用XML作为数据源
1.新建一个android的工程
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下:
Xml代码 
<?xml version="1.0" encoding="utf-8"?>  <resources>      <string-array name="plantes">          <item>NOKIA</item>          <item>MOTO</item>          <item>HTC</item>          <item>LG</item>          <item>其他</item>      </string-array>  </resources>  


3.java代码
Java代码 
import android.app.Activity;  import android.os.Bundle;  import android.view.View;  import android.widget.AdapterView;  import android.widget.AdapterView.OnItemSelectedListener;  import android.widget.ArrayAdapter;  import android.widget.Spinner;  import android.widget.TextView;    public class SpinnerActivity extends Activity {            private TextView view2;      private Spinner spinner2;      private ArrayAdapter adapter2;        @Override      protected void onCreate(Bundle savedInstanceState) {          // TODO Auto-generated method stub          super.onCreate(savedInstanceState);          setContentView(R.layout.spinner);            spinner2 = (Spinner) findViewById(R.id.spinner02);          view2 = (TextView) findViewById(R.id.spinnerText02);            //将可选内容与ArrayAdapter连接起来          adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);            //设置下拉列表的风格    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);            //将adapter2 添加到spinner中          spinner2.setAdapter(adapter2);            //添加事件Spinner事件监听            spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());            //设置默认值          spinner2.setVisibility(View.VISIBLE);                }            //使用XML形式操作      class SpinnerXMLSelectedListener implements OnItemSelectedListener{          public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,                  long arg3) {              view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));          }            public void onNothingSelected(AdapterView<?> arg0) {                        }                }  }  



4、运行效果如下:

  相关解决方案