zoukankan      html  css  js  c++  java
  • Android 之 下拉框(Spinner)的使用

    下拉列表 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代码

     
    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 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>
    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、运行效果如下:

     

  • 相关阅读:
    在Struts 2中使用JSON Ajax
    Android应用开发之(JSON解析库的选择)
    Unable to open log device '/dev/log/main': No such file or directory
    程序员的艺术:排序算法舞蹈
    博客园,我来迟了
    Android Service AIDL 远程调用服务之简单音乐播放实例
    Android Eclipse logcat 只显示一行的问题
    ERROR/WindowManager(***): Activity *** has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@*** that
    android布局属性详解
    Google为Android开发者提供定制的Eclipse IDE
  • 原文地址:https://www.cnblogs.com/navy-wang/p/3659704.html
Copyright © 2011-2022 走看看