代码如下:

 package com.lixu.xialakuang;

 import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView; public class MainActivity extends Activity {
TextView tv2;
TextView tv3; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); final String[] start = this.getResources().getStringArray(R.array.start);
final String[] target = this.getResources().getStringArray(R.array.target); Spinner spinner1 = (Spinner) findViewById(R.id.sp1);
Spinner spinner2 = (Spinner) findViewById(R.id.sp2); tv2 = (TextView) findViewById(R.id.tv2);
tv3 = (TextView) findViewById(R.id.tv3); tv2.setTextSize(20);
tv3.setTextSize(20); MyAdapterr mMyAdapterr = new MyAdapterr(this, -1, target); MyAdapterr mMyAdapter = new MyAdapterr(this, -1, start); spinner1.setAdapter(mMyAdapter); spinner2.setAdapter(mMyAdapterr); spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
tv2.setText(target[arg2]);
} @Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinner2.setOnItemSelectedListener(new OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
tv3.setText(start[arg2]);
} @Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}); } private class MyAdapterr extends ArrayAdapter {
LayoutInflater flater;
private Context context;
private String[] target;
int[] image = { R.drawable.beijing, R.drawable.chengdu, R.drawable.guangzhou, R.drawable.hangzhou,
R.drawable.wuhan, R.drawable.xian, R.drawable.shenzhen }; @Override
public int getCount() { return target.length;
} public MyAdapterr(Context context, int resource, String[] target) {
super(context, resource, target);
this.context = context;
this.target = target;
this.image = image;
flater = LayoutInflater.from(context);
} // 设置最上面选中列表的view
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = flater.inflate(R.layout.list, null);
ImageView iv = (ImageView) convertView.findViewById(R.id.iv1);
iv.setImageResource(image[position]); TextView tv = (TextView) convertView.findViewById(R.id.tv1);
tv.setBackgroundColor(Color.RED); tv.setText(target[position]);
return convertView;
} // 设置下拉列表的 view 如果不写这个方法会报 Resources$NotFoundException: Resource ID
// #0xffffffff这个错误 @Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = flater.inflate(R.layout.list, null);
ImageView iv = (ImageView) convertView.findViewById(R.id.iv1);
iv.setImageResource(image[position]); TextView tv = (TextView) convertView.findViewById(R.id.tv1); tv.setBackgroundColor(Color.GREEN);
tv.setText(target[position]);
return convertView;
}
} private class MyAdapter extends ArrayAdapter { LayoutInflater flater;
private Context context;
private String[] start;
int[] image = { R.drawable.beijing, R.drawable.chengdu, R.drawable.guangzhou, R.drawable.hangzhou,
R.drawable.wuhan, R.drawable.xian, R.drawable.shenzhen }; @Override
public int getCount() { return start.length;
} public MyAdapter(Context context, int resource, String[] target) {
super(context, resource, target);
this.context = context;
this.start = start;
flater = LayoutInflater.from(context);
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = flater.inflate(R.layout.list, null); ImageView iv = (ImageView) convertView.findViewById(R.id.iv1);
iv.setImageResource(image[position]); TextView tv = (TextView) convertView.findViewById(R.id.tv1);
tv.setBackgroundColor(Color.RED);
tv.setText(start[position]); return convertView;
} @Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = flater.inflate(R.layout.list, null);
ImageView iv = (ImageView) convertView.findViewById(R.id.iv1);
iv.setImageResource(image[position]);
TextView tv = (TextView) convertView.findViewById(R.id.tv1); tv.setText(start[position]);
tv.setBackgroundColor(Color.GREEN); return convertView;
}
}
}

xml:

 <?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/iv1"
android:layout_width="50dp"
android:layout_height="50dp" /> <TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingLeft="10dp"
android:textSize="20sp" /> </LinearLayout>
 <?xml version="1.0" encoding="utf-8"?>
<resources> <string-array name="start">
<item>北京</item>
<item>成都</item>
<item>广州</item>
<item>杭州</item>
<item>武汉</item>
<item>西安</item>
<item>深圳</item>
</string-array>
<string-array name="target">
<item>北京</item>
<item>成都</item>
<item>广州</item>
<item>杭州</item>
<item>武汉</item>
<item>西安</item>
<item>深圳</item>
</string-array> </resources>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lixu.xialakuang.MainActivity" > <TextView
android:id="@+id/tv2"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:gravity="center" /> <TextView
android:id="@+id/tv3"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_toRightOf="@id/tv2"
android:gravity="center" /> <LinearLayout
android:id="@+id/linearlayout"
android:layout_width="300dp"
android:layout_height="200dp"
android:layout_below="@+id/tv2"
android:layout_centerHorizontal="true"
android:orientation="horizontal" > <Spinner
android:id="@+id/sp1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" /> <Spinner
android:id="@+id/sp2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout> </RelativeLayout>

运行效果图:

下拉选择框 Spinner的用法。的更多相关文章

  1. android下拉选择框spinner

    spinner是什么东西呢?有点像下拉菜单,其实是一个弹出窗口,但是是可以进行进一步操作的弹出窗口.你点击那个三角形的符号,弹出一个窗口,通常是列表,然后进行操作. 它在xml文件中的定义和其它控件没 ...

  2. java、easyui-combotree树形下拉选择框

    最近一直在研究这个树形的下拉选择框,感觉非常的有用,现在整理下来供大家使用: 首先数据库的表架构设计和三级菜单联动的表结构是一样,(父子关系) 1.下面我们用hibernate建一下对应的额实体类: ...

  3. FancySelect – 更好用的 jQuery 下拉选择框插件

    FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...

  4. HTML、CSS小知识--兼容IE的下拉选择框select

    HTML <div class="s_h_ie"> <select id="Select1" disabled="disabled& ...

  5. Bootstrap系列 -- 15. 下拉选择框select

    Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role=&quo ...

  6. CSS自定义select下拉选择框(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  7. 基于jQuery美化联动下拉选择框

    今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...

  8. ul+jquery自定义下拉选择框

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)

    [源码下载] 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框) 作者:webabcd 介绍背水一战 Wind ...

随机推荐

  1. Python3基础 print \n换行

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. Python3基础 str partition 以参数字符串切分字符串,只切分为三部分

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. POJ 1679 The Unique MST (次小生成树)题解

    题意:构成MST是否唯一 思路: 问最小生成树是否唯一.我们可以先用Prim找到一棵最小生成树,然后保存好MST中任意两个点i到j的这条路径中的最大边的权值Max[i][j],如果我们能找到一条边满足 ...

  4. BZOJ5168: [HAOI2014]贴海报 线段树

    Description Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委 员 会为选民准备了一个张贴海报的electoral墙.张贴规则如下 ...

  5. [bzoj1571][Usaco2009 Open]滑雪课Ski

    题目描述 Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里,每天会提供S(0<=S<=100 ...

  6. 04_Windows平台Spark开发环境构建

    Spark的开发环境,可以基于IDEA+Scala插件,最终将打包得到的jar文件放入Linux服务器上的Spark上运行 如果是Python的小伙伴,可以在Windows上部署spark+hadoo ...

  7. Elasticsearch 多字段搜索

    查询很少是对一个字段做 match 查询,通常都是一个 query 查询多个字段,比如一个 doc 有 title.content.pagetag 等文本字段,要在这些字段查询含多个 term 的 q ...

  8. 工控机安装Ubuntu14.04

    开机,不停按delete,进入bios 进入boot,选择USB启动 重新开机,进入安装向导,下一步即可

  9. resource not found : rosbridge_server

    1.放到src下,改名字为rosbridge_server,编译catkin_make git clone https://github.com/RobotWebTools/rosbridge_sui ...

  10. Qt4_WebKit_例子

    1. 安装包:qt-opensource-windows-x86-vs2010-4.8.6.exe Qt4已经编译好的文件:E:\ZC_software_installDir\Qt_4.8.6\dem ...