Spinner(列表选择框)的使用

Spinner常用的xml属性:

Spinner(列表选择框)的使用_第1张图片

在使用Spinner的时候如果已经知道列表的数据,其实直接可以把数据指定在android:entries中,而不需要在代码中动态增加。如果没有指定entries这个属性,需要在Activity中设置Adapter。

模拟效果截图:
Spinner(列表选择框)的使用_第2张图片

代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="20sp" 
        android:layout_marginBottom="10dp"
        android:text="请选择:"/>

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#EF5350"
        android:dropDownVerticalOffset="5dp"
       />

LinearLayout>
package com.example.spinnertest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends Activity {
    private TextView tv;
    private Spinner spinner;
    private String[] data = new String[] { "Android4.0", "Android开发游戏",
            "Android面试宝典", "Android开发" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        spinner = (Spinner) findViewById(R.id.spinner);
        tv = (TextView) findViewById(R.id.textview);
        final ArrayAdapter adapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_multiple_choice, data);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView arg0, View arg1,
                    int arg2, long arg3) {
                String selection = adapter.getItem(arg2);
                tv.setText("您选择的是:" + selection);
            }

            @Override
            public void onNothingSelected(AdapterView arg0) {
                // TODO Auto-generated method stub

            }
        });
    }

}

你可能感兴趣的:(Android学习)