您的位置:首页 > 移动开发 > Android开发

Android 下拉列表Spinner控件

2014-03-25 20:37 615 查看
Android 下拉列表Spinner控件的用法。Spinner用来显示用户选择的选项,当点击时将弹出列表供用户选择



package com.spinnerdemo;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {

	/*
	 * 下拉列表Demo
	 * 
	 * 下拉列表控件Spinner:每次只显示用户选择的选项,当再次点击时会弹出列表供用户选择
	 */
	
	private String TAG = "SpinnerDemo";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Spinner spinner = (Spinner) findViewById(R.id.spinner);
		Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);

		/*
		 * Spinner的使用。
		 * 
		 * 注意:两种数据来源方式
		 *     自定义显示样式
		 *      
		 */

		// 第一种方式生成的资源文件
		String str[] = { "China", "Russia", "Germany", "USA" };
		// 建立适配器并绑定数据源 第二个参数是样式 还有很多种
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, str);

		spinner.setAdapter(adapter);

		//只能在values中一般名字为arrays.xml
		String[] item = getResources().getStringArray(R.array.country);
		ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, item);

		spinner2.setAdapter(adapter2);

		// 添加事件

		spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
	
	//添加监听事件。
	public class MyOnItemSelectedListener implements OnItemSelectedListener{ 
	    @Override 
	    public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long arg3){ 
	        // 在这里我们复习一下Toast的用法  
	        Toast.makeText(parent.getContext(), 
	                                  "The planet is "+  parent.getItemAtPosition(pos).toString(), 
	                                   Toast.LENGTH_LONG).show(); 
	    }

	    @Override 
	    public void onNothingSelected(AdapterView<?> arg0) {  
	        //nothing to do 
	    } 
	}

	
	
	
	

}


res/values/arrays.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--used in spinner-->
    <string-array name="country">
        <item>China2</item>
        <item>Russia2</item>
        <item>Germany</item>
        <item>USA</item>
    </string-array>
</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: