package com.example.spinnerexample;

import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView; public class MainActivity extends Activity {
private Spinner spinner;
private TextView tv;
private static final String[] m = { "A型", "B型", "O型", "AB型", "其他" }; private AutoCompleteTextView at1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) this.findViewById(R.id.textView1);
at1 = (AutoCompleteTextView) this.findViewById(R.id.at1); spinner = (Spinner) this.findViewById(R.id.spinner1); /*
* ArrayAdapter<String> adapter = new
* ArrayAdapter<String>(this,R.layout.spinner, m){
*
* @Override public View getDropDownView(int position, View convertView,
* ViewGroup parent) { if(convertView==null){ convertView =
* getLayoutInflater().inflate(R.layout.spinner_item, parent, false); }
* TextView label = (TextView) convertView.findViewById(R.id.label);
* label.setText(getItem(position)); if
* (spinner.getSelectedItemPosition() == position)
* label.setTextColor(Color.RED); //ImageView icon = (ImageView)
* convertView.findViewById(R.id.icon);
* //icon.setVisibility(spinner.getSelectedItemPosition() ==
* position?View.VISIBLE:View.INVISIBLE);
*
* return convertView; } };
*/
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,m){
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
TextView label = (TextView) super.getView(position,
convertView, parent); if (at1.getText().toString().indexOf(m[position])==0) {
label.setTextColor(Color.RED); }else{
label.setTextColor(Color.BLACK);
}
return label;
}
};
at1.setAdapter(adapter1); at1.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
AutoCompleteTextView view = (AutoCompleteTextView) v;
if (hasFocus) {
view.showDropDown();
}
}
}); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, m) {
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
TextView label = (TextView) super.getView(position,
convertView, parent); if (spinner.getSelectedItemPosition() == position) {
label.setTextColor(Color.RED);
label.setVisibility(View.VISIBLE);
}
return label;
}
};
spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub } public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}); } @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;
} // 使用数组形式操作
class SpinnerSelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
tv.setText("你的血型是:" + m[arg2]); } public void onNothingSelected(AdapterView<?> arg0) {
}
} }

补充SpinnerArrayAdapter类

调用方法如下

方法1:
     List<String> list = new ArrayList<String>();
list.add("新增");
list.add("已确认");
ArrayAdapter<String> aAdapter = new SpinnerArrayAdapter<String>(this,R.layout.spinner_dropdownlist_item, R.id.text,list,txtstatus);
aAdapter.setDropDownViewResource(R.layout.spinner_dropdownlist_item);
txtstatus.setAdapter(aAdapter);
方法2:
ArrayAdapter<String> tblproductionperiod_adapter = new SpinnerArrayAdapter<String>(this,R.layout.spinner_item, R.id.text,tblproductionperiod_list ,txtperiod);
tblproductionperiod_adapter.setDropDownViewResource(R.layout.spinner_dropdownlist_item);
txtperiod.setAdapter(tblproductionperiod_adapter);
package eip.util;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast; import java.util.List; import eip.frame.R;
import eip.module.IPOProgressActivity; public class SpinnerArrayAdapter<T> extends ArrayAdapter {
private Spinner spinner;
public SpinnerArrayAdapter(Context context, int resource, int textViewResourceId, List<T> list ,Spinner zspinner) {
super(context ,resource,textViewResourceId,list);
this.spinner = zspinner;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) { if(convertView==null){
convertView = ((Activity)this.getContext()).getLayoutInflater().inflate(R.layout.spinner_dropdownlist_item, parent, false);
} TextView label = (TextView) super.getView(position,
convertView, parent).findViewById(R.id.text); if (this.spinner.getSelectedItemPosition() == position) {
label.setTextColor(Color.GREEN);
}
return convertView;
}
}

http://blog.csdn.net/i_lovefish/article/details/17337999

http://www.jb51.net/article/49133.htm

http://www.tuicool.com/articles/uYBrie

http://www.it1352.com/124657.html

http://gundumw100.iteye.com/blog/1773670

android AutoCompleteTextView和Spinner选中项加亮的更多相关文章

  1. Android——AutoCompleteTextView、Spinner和消息提示

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  2. Android AutoCompleteTextView和MultiAutoCompleteTextView使用

    Android AutoCompleteTextView和MultiAutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息: 它 ...

  3. Android学习之Spinner

    Android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧.Spinner位于 android.widg ...

  4. Android中Spanner获取选中内容和选中位置,根据位置选择对象

    作为一名菜鸟,关于spanner获取选中的内容文字代码,网上后很多 但是根据给出的位置来自动选择对象,这个代码一直没找到 后来找人问了问,才知道就一句话的事,特意在这里记录下 array.xml  X ...

  5. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  6. AutoCompleteTextView和Spinner的使用方法

    首先说明AutoCompleteTextView的使用方法.主要是起到自己主动填充的作用.输入keyword,假设存在该字便能够自己主动填充.代码例如以下 activity_main.xml < ...

  7. Android学习笔记(23):列表项的容器—AdapterView的子类们

    AdapterView的子类的子类ListView.GridView.Spinner.Gallery.AdapterViewFlipper和StackView都是作为容器使用,Adapter负责提供各 ...

  8. 复选框(checkox)全选、全不选、反选、获得选中项值的用例

    HTML部分: <div class="all"> <ul> <li><input type="checkbox" v ...

  9. 刷新各ifream当前页,下拉项改变触发事件js,给选中项加背景色js

    <script type="text/javascript" language="javascript"> //刷新框架各页面 function r ...

随机推荐

  1. C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果

    [csharp] view plain copy print? //方法一 利用DataTable中的Compute方法 例如:1*2-(4/1)+2*4=6 , , , ); DataTable d ...

  2. mysq 安装时候进行生成数据库系统时候执行语句 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 时候报错

    我在安装数据库时候在系统进行生成数据库时候出现下面问题,就是在 scripts里面mysql_install_db没有执行权限, 进入到scripts目录下,执行chmod 777 mysql_ins ...

  3. Oracle 怎么让id自增加

    --自增长序列 create table test( tid int not null, tname ), tsex ), tbz ) ) --添加主键约束 alter table test add ...

  4. 7.Constants and Fields

    1.Constants is a symbol that has a never-changing value.  its value must be determinable at compile ...

  5. Android——例子:屏幕切换

    效果图如下:                          Xml文件代码: <?xml version="1.0" encoding="utf-8" ...

  6. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  7. Android SDK 更新镜像服务器

    搞个新的电脑,新环境下,SDK总是更新不成功.找了一下,发现有国内的镜像,记录保存一下. Android Tools Android SDK在线更新镜像服务器    中国科学院开源协会镜像站地址:   ...

  8. java 解析汉字拼音

    pinyin4j的使用很方便,一般转换只需要使用PinyinHelper类的静态工具方法即可:    String[] pinyin = PinyinHelper.toHanyuPinyinStrin ...

  9. iOS - OC Enum 枚举

    前言 iOS 5.0 之后,提供了新的枚举定义方式,定义枚举的同时,可以指定枚举中数据的类型. typedef NS_OPTIONS(_type, _name) new; -> 位移的,可以使用 ...

  10. Redis主从配置详细过程

    Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面楼主简单的进行一下配置. 1.上面安装 ...