xml布局文件:

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_notity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/spinner"
android:layout_marginTop="10dp"
android:text="更新列表"
android:textSize="20sp"/> </RelativeLayout>

spinner_item文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/iamge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> </LinearLayout>

源代码:

package com.example.day04_spinnerlistener;

import java.util.ArrayList;

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.Button;
import android.widget.Spinner; public class MainActivity extends Activity implements View.OnClickListener{ private Spinner spinner;
private String TAG = "MainActivity";
private String[] cities;
private ArrayAdapter<String> adapter;
private Button button;
private ArrayList<String> cityList; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.btn_notity);
button.setOnClickListener(this);
spinner = (Spinner) findViewById(R.id.spinner);
cities = new String[] {"北京","上海","广州","杭州","天津"};
cityList = new ArrayList<String>();
for (int i = 0; i < cities.length; i++) {
cityList.add(cities[i]);
}
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, cityList);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
//如何获取被点击的item对应的数据
//通过数据源数组获得该索引的数据
String name1 = cities[position];
//通过适配器获取索引条目的数据
String name2 = adapter.getItem(position);
//通过spinner(适配器控件)获取该索引位置条目的数据
String name3 = spinner.getItemAtPosition(position).toString();
Log.i(TAG ,position+"name1:"+name1+"name2,"+name2+",name3:"+name3 );
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub }
}); }
/**
* 当点击更新按钮,触发监听事件,执行更新数据的操作
*/
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ArrayList<String> newList = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
newList.add("item "+i);
}
//清空数据
// cityList.removeAll(cityList);
//添加新的数据到原数据中
cityList.addAll(newList);
//通知更新数据
adapter.notifyDataSetChanged();
} }

Android_Spinner_Listener的更多相关文章

随机推荐

  1. Win7下的DragEnter、DragDrop事件不触发的解决方案

    Win7与原来的XP和Win2003相比,安全控制方面更严格.比如,当我们以administrator登陆XP或Win2003时,运行所有的程序即是以管理员的身份启动的.但当以administrato ...

  2. POJ3281 Dining 最大流

    题意:有f种菜,d种饮品,每个牛有喜欢的一些菜和饮品,每种菜只能被选一次,饮品一样,问最多能使多少头牛享受自己喜欢的饮品和菜 分析:建边的时候,把牛拆成两个点,出和入 1,源点向每种菜流量为1 2,每 ...

  3. opencv开发的程序分发给客户时所需要的dll文件

    这里主要讲在其他裸机,没有搭建开发环境机器上运行自己开发的程序. 为了测试,我专门用visualbox搭建了一个虚拟机(主机和虚拟机都是win7系统) 在发给别人程序运行出现错误:msvcp100d. ...

  4. 为Virtualbox中的Solaris10安装VBoxAdditions

    安装增强插件,以便能够和虚拟机拖放文件 1.启动虚拟系统,选择安装VirtualBox增强功 能(Guest Additions).在VirtualBox中选择“设备”->“安装增强功能”.Vi ...

  5. 2016CCPC 中南地区邀请赛 A 矩阵快速幂

    A A^n=A^(n%2016)%7; #include <iostream> #include <cstdio> #include <cstring> #incl ...

  6. MVC Razor 语法(转)

    http://blog.csdn.net/pasic/article/details/7072340 原文地址:MVC Razor 语法(转)作者:panzhaowen_jacki 语法名称 Razo ...

  7. 【转载】高性能I/O设计模式Reactor和Proactor

    转载自:http://blog.csdn.net/roger_77/article/details/1555170 昨天购买了<程序员>杂志 2007.4期,第一时间去翻阅了一遍,其中有一 ...

  8. 集群搭建必备:虚拟机之一实现Host-only方式上网

    Host-only模式实现联网得考虑如下配置过程: 1. 安装VMware-Workstation,安装虚拟机Linux(centos.ubuntu等)完毕: 2.设置虚拟机上网方式是Host-onl ...

  9. BNUOJ-26579 Bread Sorting YY

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26579 考虑两个性质:蚂蚁的相对位置不变,蚂蚁碰撞时相当于对穿而过,然后排两次序就可以了. ...

  10. [Tool] 使用CodeMaid自動程式排版 - 摘自网络

    前言 「使用StyleCop驗證命名規則」這篇文章,指引開發人員透過StyleCop這個工具,來自動檢驗專案中產出的程式碼是否合乎命名規則. [Tool] 使用StyleCop驗證命名規則 但是在專案 ...