Android 下拉控件:Spinner

原创 2015年11月19日 17:47:43
package com.example.spinner;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
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 Spinner spinner_start;
	private Spinner spinner_target;
	private String[] start;
	private String[] target;

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

		init();

		spinner_start.setAdapter(new MyAdapter(this, -1, start));
		spinner_target.setAdapter(new MyAdapter(this, -1, target));

		spinner_start.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {

			}
		});

		spinner_target.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

				/*
				 *  监听事件 
				 */
				switch (position) {
				case 0:
					
					break;

				case 1:
					
					
					break;

				default:
					break;
				}

			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {

			}
		});

	}

	private void init() {

		spinner_start = (Spinner) findViewById(R.id.spinner_start);
		spinner_target = (Spinner) findViewById(R.id.spinner_target);

		start = this.getResources().getStringArray(R.array.start);
		target = this.getResources().getStringArray(R.array.target);
	}

	private class MyAdapter extends ArrayAdapter {

		private Context mContext;
		private LayoutInflater inflater;
		private Object[] object;
		private boolean temp = true;

		public MyAdapter(Context context, int textViewResourceId, Object[] objects) {
			super(context, textViewResourceId, objects);

			this.mContext = context;
			this.object = (String[]) objects;

			inflater = LayoutInflater.from(context);

		}

		@Override
		public int getCount() {

			return object.length;
		}
		
		@Override
		public View getView(int position, View convertView, ViewGroup parent) {

			if (convertView == null)

				convertView = inflater.inflate(R.layout.list_item, null);

			TextView text = (TextView) convertView.findViewById(R.id.text);

			text.setTextSize(18);
			if (temp) {
				text.setText(null);
				temp = false;
			} else {
				text.setText(object[position].toString());
			}
			return convertView;

		}
		/*
		 * 
		 * getDropDownView 下拉框显示的数据
		 */
		@Override
		public View getDropDownView(int position, View convertView, ViewGroup parent) {

			if (convertView == null)

				convertView = inflater.inflate(R.layout.list_item, null);

			TextView text = (TextView) convertView.findViewById(R.id.text);

			text.setTextSize(18);
			text.setText(object[position].toString());

			return convertView;
		}
	}

}

相关文章推荐

Android Spinner控件 显示数据和下拉选中数据分离

项目即将快完工了,还有两个关键的部分,心情还是很激动的,经过两个月的从零开始,学到的都已经记录在博客里了,主要涉及的是fragment还有一些乱码解决、...

Android学习笔记(一) 下拉列表Spinner控件

一、在项目res/layout/main.xml添加一个Button,点击Button跳转到SpinnerActivity二、在MainActivity添加Button侦听//找到main.xml中的...
  • wshsba
  • wshsba
  • 2011年05月31日 22:56
  • 1224

android控件之Spinner(动态生成下拉内容)

main.xml     xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="...

Android:控件Spinner实现下拉列表

在Web开发中,HTML提供了下拉列表的实现,就是使用元素实现一个下拉列表,在其中每个下拉列表项使用表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinne...

Android:控件Spinner实现下拉列表

在Web开发中,HTML提供了下拉列表的实现,就是使用元素实现一个下拉列表,在其中每个下拉列表项使用表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinne...

Android:控件Spinner实现下拉列表

在Web开发中,HTML提供了下拉列表的实现,就是使用元素实现一个下拉列表,在其中每个下拉列表项使用表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinne...

Android基础-下拉列表控件Spinner

1)布局文件main.xml

Android:控件Spinner实现下拉列表

在Web开发中,HTML提供了下拉列表的实现,就是使用元素实现一个下拉列表,在其中每个下拉列表项使用表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinne...

2014-11-6Android学习------Spinner下拉选择框控件学习

写一篇文章很辛苦啊!!! 转载请注明,联系请邮件nlp30508@qq.com 我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的...

Android UI控件之Spinner(下拉列表)

下拉列表---Spinner用于显示列表项,类似于一组单选按钮RadioButton。Spinner的使用,        可以极大的提升用户的体验性。当需要用户选择的时候,可以提供一个下拉列表项给...
  • kiritor
  • kiritor
  • 2013年03月17日 20:23
  • 9674
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 下拉控件:Spinner
举报原因:
原因补充:

(最多只允许输入30个字)