自动填充邮箱后缀

来源:互联网 发布:拿破仑战争 军粮 知乎 编辑:程序博客网 时间:2024/05/01 06:12

main.xml如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="vertical" >    <AutoCompleteTextView        android:id="@+id/edit"        android:layout_width="230dip"        android:layout_height="wrap_content"        android:textSize="20sp"        android:layout_gravity="center_horizontal"        android:layout_marginTop="20dip" /></LinearLayout>

程序代码如下:

package com.android.system.AutoComplete;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AutoCompleteTextView;import android.widget.BaseAdapter;import android.widget.Filter;import android.widget.Filterable;import android.widget.TextView;public class AutoComplete extends Activity {AutoCompleteTextView autoview;// default cityString[] stringArray = { "@163.com", "@126.com", "@qq.com", "@sina.com", "@taobao.com" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);autoview = (AutoCompleteTextView) findViewById(R.id.edit);//adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, stringArray);final MyAdatper adapter = new MyAdatper(this);autoview.setAdapter(adapter);autoview.addTextChangedListener(new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void afterTextChanged(Editable s) {String input = s.toString();adapter.mList.clear();if (input.length() > 0) {for (int i = 0; i < stringArray.length; ++i) {adapter.mList.add(input + stringArray[i]);}}adapter.notifyDataSetChanged();autoview.showDropDown();}});// default=2autoview.setThreshold(1);}class MyAdatper extends BaseAdapter implements Filterable {List<String> mList;private Context mContext;private MyFilter mFilter;public MyAdatper(Context context) {mContext = context;mList = new ArrayList<String>();}@Overridepublic int getCount() {return mList == null ? 0 : mList.size();}@Overridepublic Object getItem(int position) {return mList == null ? null : mList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {TextView tv = new TextView(mContext);tv.setTextColor(Color.BLACK);tv.setTextSize(20);convertView = tv;}TextView txt = (TextView) convertView;txt.setText(mList.get(position));return txt;}@Overridepublic Filter getFilter() {if (mFilter == null) {mFilter = new MyFilter();}return mFilter;}private class MyFilter extends Filter {@Overrideprotected FilterResults performFiltering(CharSequence constraint) {FilterResults results = new FilterResults();if (mList == null) {mList = new ArrayList<String>();}results.values = mList;results.count = mList.size();return results;}@Overrideprotected void publishResults(CharSequence constraint, FilterResults results) {            if (results.count > 0) {                notifyDataSetChanged();            } else {                notifyDataSetInvalidated();            }}}}}

代码下载地址:http://download.csdn.net/detail/leiming32/4469341

原创粉丝点击