当前位置:操作系统 > 安卓/Android >>

Android spinner控件的实现

手机的屏幕较小,因此使用下拉列表来进行选择式输入是一个非常好的方式。Spinner
与 ListView 一样,也是 AdapterView 的一个间接子类,是一个显示数据的窗口。
Spinner 类常用的方法如下:
   Spinner.getItemAtPosition(Spinner.getSelectedItemPosition()); 获取下拉列
表框的值
  调用 setOnItemSelectedListener() 方法,处理下拉列表框被选择事件, 把
AdapterView.OnItemSelectedListener 实例作为参数传入
 
 
 
strings.xml
 
[html]  
<?xml version="1.0" encoding="utf-8"?>  
<resources>  
  
    <string name="app_name">ASpinnerDemo</string>  
    <string name="hello_world">Hello world!</string>  
    <string name="menu_settings">Settings</string>  
    <string name="selectStr">你的选择是?</string>  
</resources>  
 
main.xml
 
[html]  www.zzzyk.com
<RelativeLayout 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"  
    tools:context=".MainActivity" >  
  
    <TextView     
        android:id="@+id/TextView_Show"     
        android:layout_width="fill_parent"     
        android:layout_height="wrap_content"     
        android:text="@string/selectStr"     
        android:textSize="16sp">     
    </TextView>     
    <Spinner     
        android:id="@+id/spinner_City"     
        android:layout_width="fill_parent"  
        android:layout_marginTop="50dp"     
        android:layout_height="wrap_content">     
    </Spinner><!-- 定义一个下拉菜单-->     
  
  
</RelativeLayout>  
 
java代码实现
 
[java]  
package com.example.aspinnerdemo;  
  
import java.util.ArrayList;     
import java.util.List;     
     
import android.app.Activity;     
import android.os.Bundle;     
import android.view.MotionEvent;     
import android.view.View;  
import android.view.Menu;       
import android.widget.AdapterView;     
import android.widget.ArrayAdapter;     
import android.widget.Spinner;     
import android.widget.TextView;   
  
public class MainActivity extends Activity {  
      
    /** Called when the activity is first created. */     
    private List<String> list = new ArrayList<String>();     
    private TextView myTextView;     
    private Spinner mySpinner;     
    private ArrayAdapter<String> adapter;       
  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项     
            list.add("测试一");     
            list.add("测试二");     
            list.add("测试三");     
            list.add("测试四");     
            list.add("测试五");  
            list.add("测试六");  
            list.add("测试七");  
            list.add("测试八");  
            list.add("测试九");  
            myTextView = (TextView)findViewById(R.id.TextView_Show);     
            mySpinner = (Spinner)findViewById(R.id.spinner_City);     
            //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。     
            adapter = new ArrayAdapter<String>(this,android.R.layout.易做图_spinner_item, list);     
            //第三步:为适配器设置下拉列表下拉时的菜单样式。     
            adapter.setDropDownViewResource(android.R.layout.易做图_spinner_dropdown_item);     
            //第四步:将适配器添加到下拉列表上     
            mySpinner.setAdapter(adapter);     
            //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中     
            mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){     
                public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {     
                    // TODO Auto-generated method stub     
                    /* 将所选mySpinner 的值带入myTextView 中*/     
                    myTextView.setText("您选择的是:"+ adapter.getItem(arg2));     
                    /* 将mySpinner 显示*/     
                    arg0.setVisibility(View.VISIBLE);     
           
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,