使用AutoCompleteTextView实现对全国省市的模糊查询,在这里,我没有用到数据库,只是单纯的将全国省市的信息放在一个String类型的数组中。
相关文章来源链接http://blog.csdn.net/liuwan1992/article/details/52832264
package com.example.testdemo; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.LinearLayout; public class MainActivity extends Activity implements OnClickListener{ private LinearLayout empty; private AutoCompleteTextView search; private String[] str = {"北京", "上海", "天津", "重庆", "河北", "石家庄", "邯郸", "邢台","保定","张家口","承德","廊坊","唐山","秦皇岛","沧州","衡水","辛集","藁城","晋州","新乐","鹿泉","遵化","丰南","迁安","武安","南宫","沙河","涿州","定州","安国","高碑店","泊头","任丘","黄骅","河间","霸州","三河","冀州","深州" ,"山西","太原","大同","阳泉","长治","晋城","朔州","吕梁","忻州","晋中","临汾","运城","榆次","古交","潞城","高平","原平","孝义","离石","汾阳","文水","介休","侯马","永济","河津" ,"内蒙古","呼和浩特","包头","乌海","赤峰","呼伦贝尔","兴安","通辽","锡林郭勒","乌兰察布","鄂尔多斯","巴彦淖尔","阿拉善" ,"辽宁","大连市","沈阳市","丹东市","辽阳市","葫芦岛市","锦州市","朝阳市","营口市","鞍山市","抚顺市","阜新市","盘锦市","本溪市","铁岭市" ,"吉林","吉林市","长春市","白山市","延边州","白城市","松原市","辽源市","通化市","四平市" ,"黑龙江","齐齐哈尔市","哈尔滨市","大庆市","佳木斯市","双鸭山市","牡丹江市","鸡西市","黑河市","绥化市","鹤岗市","伊春市","大兴安岭地区" ,"江苏","苏州市","徐州市","盐城市","无锡市","南京市","南通市","连云港市","常州市","镇江市","扬州市","淮安市","泰州市","宿迁市" ,"浙江","温州市","宁波市","杭州市","台州市","嘉兴市","金华市","湖州市","绍兴市","舟山市","丽水市","衢州市" ,"安徽","芜湖市","合肥市","六安市","宿州市","阜阳市","安庆市","马鞍山市","蚌埠市","淮北市","淮南市","宣城市","黄山市","铜陵市","亳州市","池州市","巢湖市","滁州市" ,"福建","漳州市","厦门市","泉州市","福州市","莆田市","宁德市","三明市","南平市","龙岩市" ,"江西","南昌市","赣州市","上饶市","吉安市","九江市","新余市","抚州市","宜春市","景德镇市","萍乡市","鹰潭市" ,"山东","济南市","青岛市","临沂市","济宁市","菏泽市","烟台市","淄博市","泰安市","潍坊市","日照市","威海市","滨州市","东营市","聊城市","德州市","莱芜市","枣庄市" ,"河南","郑州市","南阳市","新乡市","安阳市","洛阳市","信阳市","平顶山市","周口市","商丘市","开封市","焦作市","驻马店市","濮阳市","三门峡市","漯河市","许昌市","鹤壁市","济源市" ,"湖北","武汉市","宜昌市","襄樊市","荆州市","恩施州","黄冈市","孝感市","十堰市","咸宁市","黄石市","仙桃市","天门市","随州市","荆门市","潜江市","鄂州市","神农架林区" ,"湖南","长沙市","邵阳市","常德市","衡阳市","株洲市","湘潭市","永州市","岳阳市","怀化市","郴州市","娄底市","益阳市","张家界市","湘西州" ,"广东","广州市","深圳市","珠海市","东莞市","中山市","惠州市","江门市","汕头市","佛山市","湛江市","河源市","肇庆市","清远市","潮州市","韶关市","揭阳市","阳江市","梅州市","云浮市","茂名市","汕尾市" ,"广西","贵港市","玉林市","北海市","南宁市","柳州市","桂林市","梧州市","钦州市","来宾市","河池市","百色市","贺州市","崇左市","防城港市" ,"海南","三亚市","海口市","琼海市","文昌市","东方市","昌江县","陵水县","乐东县","保亭县","五指山市","澄迈县","万宁市","儋州市","临高县","白沙县","定安县","琼中县","屯昌县" ,"四川","成都市","绵阳市","广元市","达州市","南充市","德阳市","广安市","阿坝州","巴中市","遂宁市","内江市","凉山州","攀枝花市","乐山市","自贡市","泸州市","雅安市","宜宾市","资阳市","眉山市","甘孜州" ,"贵州","贵阳市","黔东南州","黔南州","遵义市","黔西南州","毕节地区","铜仁地区","安顺市","六盘水市" ,"云南","昆明市","红河州","大理州","文山州","德宏州","曲靖市","昭通市","楚雄州","保山市","玉溪市","丽江地区","临沧地区","思茅地区","西双版纳州","怒江州","迪庆州" ,"西藏","拉萨市","山南地区","林芝地区","日喀则地区","阿里地区","昌都地区","那曲地区" ,"陕西","西安市","咸阳市","宝鸡市","汉中市","渭南市","安康市","榆林市","商洛市","延安市","铜川市" ,"甘肃","兰州市","天水市","庆阳市","武威市","酒泉市","张掖市","陇南地区","白银市","定西地区","平凉市","嘉峪关市","临夏回族自治州","金昌市","甘南州" ,"宁夏","银川市","吴忠市","中卫市","石嘴山市","固原市" ,"青海","西宁市","海西州","海东地区","海北州","果洛州","玉树州","黄南藏族自治州" ,"新疆","乌鲁木齐市","伊犁州","昌吉州","石河子市","哈密地区","阿克苏地区","巴音郭楞州","喀什地区","塔城地区","克拉玛依市","和田地区","阿勒泰州","吐鲁番地区","阿拉尔市","博尔塔拉州","五家渠市","克孜勒苏州","图木舒克市" ,"香港","澳门","台湾","台北市","高雄市","台中市","新竹市","基隆市","台南市","嘉义市"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); empty = (LinearLayout) findViewById(R.id.empty); empty.setOnClickListener(this); //InputStream inputStream = getResources().openRawResource(R.raw.ss); search = (AutoCompleteTextView) findViewById(R.id.search); // 自动提示适配器 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, str); search.setAdapter(adapter); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.empty: search.setText(""); break; } } } 关联的布局文件
<?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="vertical"> <!-- 标题 --> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:background="#59B29C" android:gravity="center_vertical" android:orientation="horizontal"> <LinearLayout android:id="@+id/empty" android:layout_width="0dp" android:layout_height="60dp" android:layout_weight="1" android:background="@null" android:gravity="center" android:orientation="vertical"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:adjustViewBounds="true" android:scaleType="fitXY" android:src="@drawable/cross_empty" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="35dp" android:layout_marginEnd="20dp" android:layout_weight="3" android:background="@drawable/linearlayout_corner_search" android:focusable="true" android:focusableInTouchMode="true" android:gravity="center" android:orientation="horizontal" android:paddingEnd="20dp" android:paddingStart="20dp"> <ImageView android:layout_width="15dp" android:layout_height="15dp" android:adjustViewBounds="true" android:scaleType="fitXY" android:src="@drawable/search" /> <AutoCompleteTextView android:id="@+id/search" android:layout_width="match_parent" android:layout_height="30dp" android:layout_marginStart="15dp" android:background="@null" android:completionThreshold="1" android:hint="输入城市名称" android:imeOptions="actionSearch" android:maxLength="12" android:dropDownHeight="200dp" android:dropDownWidth="180dp" android:singleLine="true" android:textColor="#317F6D" android:textColorHint="#317F6D" android:textCursorDrawable="@drawable/edittext_cursor" android:textSize="15sp" /> </LinearLayout> </LinearLayout> </LinearLayout>