使用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>