`

android开发之Spinner组件

 
阅读更多

Spinner组件组要用显示一个下拉列表,在使用中需要用到适配器Adapter,下面是一个该组件的使用示例

 

首先是布局文件main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<Spinner android:id="@+id/spinner1" android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
	<Spinner android:id="@+id/spinner2" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:layout_marginTop="20dp"/>
</LinearLayout>

 

 由于用到simpAdapter所以要写子项Item的布局如下 item。xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal" android:layout_width="fill_parent"
	android:layout_height="wrap_content">
	<ImageView android:id="@+id/ivLogo" android:layout_width="60dp"
		android:layout_height="60dp" android:src="@drawable/icon"
		android:paddingLeft="10dp" />

	<TextView android:id="@+id/tvApplicationName" android:textColor="#000"
		android:layout_width="wrap_content" android:layout_height="fill_parent"
		android:textSize="16dp" android:gravity="center_vertical"
		android:paddingLeft="10dp" />

</LinearLayout>

 下面是代码:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;

public class Main extends Activity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//获取对象
		Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
		String[] applicationNames = new String[]
		{ "多功能日历", "eoeMarket客户端", "耐玩的重力消砖块", "白社会", "程序终结者" };
		ArrayAdapter<String> aaAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, applicationNames);
		// 将如下代码可以使列表项带RadioButton组件
		// aaAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		spinner1.setAdapter(aaAdapter);

		Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
		final List<Map<String, Object>> items = new ArrayList<Map<String, Object>>();
		Map<String, Object> item1 = new HashMap<String, Object>();
		item1.put("ivLogo", R.drawable.calendar);
		item1.put("tvApplicationName", "多功能日历");
		Map<String, Object> item2 = new HashMap<String, Object>();
		item2.put("ivLogo", R.drawable.eoemarket);
		item2.put("tvApplicationName", "eoeMarket客户端");
		items.add(item1);
		items.add(item2);
		SimpleAdapter simpleAdapter = new SimpleAdapter(this, items,
				R.layout.item, new String[]
				{ "ivLogo", "tvApplicationName" }, new int[]
				{ R.id.ivLogo, R.id.tvApplicationName });
		spinner2.setAdapter(simpleAdapter);
		//为Spinner2加上监听事件
		spinner2.setOnItemSelectedListener(new OnItemSelectedListener()
		{

			@Override
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id)
			{
					new AlertDialog.Builder(view.getContext()).setTitle(
							items.get(position).get("tvApplicationName")
									.toString()).setIcon(
							Integer.parseInt(items.get(position).get("ivLogo")
									.toString())).show();
			}

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

			}
		});
		
	}
}

 

分享到:
评论

相关推荐

    Android编程开发之Spinner组件用法

    主要介绍了Android编程开发之Spinner组件用法,结合实例形式分析介绍了Android中Spinner组件的功能、定义及具体使用技巧,需要的朋友可以参考下

    使用Android中Spinner组件显示多个选项.pdf

    使用Android中Spinner组件显示多个选项.pdf

    Android Spinner 组件的应用实例

    Android Spinner 组件 Spinner: 下拉组件 使用事项:布局在XML 中实现,具体的数据在JAVA 代码中实现; 所用知识点: 数组适配器:ArrayAdapter 用于关系M 层和 C 层; 事件:OnItemSelectedListener; 案列:...

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    Android下拉列表spinner的实例代码

    spinner组件有点类型于HTML中的下拉框&lt;Select&gt;&lt;/select&gt;的样子,让用户每次从下拉框中选取一个,本文为大家分享了Android下拉列表spinner的具体实现代码,供大家参考,具体内容如下 mian.xml &lt;...

    Android开发案例驱动教程 配套代码

    《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...

    安卓开发使用edittext和list组合实现Spinner

    spinner组件可以通过edittext和list组合来实现,适合安卓开发初学者,编编小程序有益于提升小兴趣哟

    android开发入门与实战(下)

    第2章 工欲善其事 必先利其器——搭建Android开发环境 2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、Android...

    《Google Android开发入门与实战》.pdf

     本书内容上涵盖了用android开发的大部分场景,从android基础介绍、环境搭建、sdk介绍、market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,...

    android开发入门与实战(上)

    第2章 工欲善其事 必先利其器——搭建Android开发环境 2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、Android...

    《Android应用开发揭秘》附带光盘代码.

     第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android...

    Android应用开发揭秘pdf高清版

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    本人Android课设作品,可用于作品毕设+Android课设,涉及到的技术方面有Android四大组件+网络请求+各种开源库

    在组件方面,主要是采用Android原生的组件,比如RecyclerView用来实现列表的布局,Spinner下拉框组件主要是用来实现一些固定数据的选择,可以减少让用户频繁输入的次数以及确保相关固定数据的正确性,ScrollView布局...

    《Android应用开发揭秘》源码

     第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android...

    Google.Android开发入门与实战

    内容简介  《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、... 最后,祝广大开发者的技术日益精进,早日开始Android开发之旅,赶上移动互联网的第一班车,共赢中国3G未来!

    Android开发之二级联动下拉框

    运用面向对象的思想,通过XML或其它方式,灵活的调整省份和城市的数据,以此实现联动下拉框的数据装配

    android开发实例大全_王东华

    本书以Android应用程序的开发为主题,并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。本书的讲述由浅入深,实例全面并典型,几乎囊括了所有和Android应用相关的项目。全书分为...

Global site tag (gtag.js) - Google Analytics