android基本控件示例AutoCompleteTextView(04)

//AutoCompleteTextView自动提示示例
public class MainActivity extends Activity {
	private AutoCompleteTextView autoTextView;
	private ArrayAdapter<String> adapter;//数组适配器是最简单的适配器

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		autoTextView = (AutoCompleteTextView) this
				.findViewById(R.id.autoTextView);
		// citys_weather.xml放在res/xml文件夹中的xml文件,若是是.txt的话实在res/raw
		XmlPullParser parser = getResources().getXml(R.xml.citys_weather);
		List<String> list = parserXML(parser);// 解析后返回的list
		adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, list);
		autoTextView.setAdapter(adapter);// 记得自动文本要绑定适配器
	}

	private List<String> parserXML(XmlPullParser parser) {
		List<String> list = new ArrayList<String>();
		try {
			int event = parser.getEventType();
			while (event != XmlPullParser.END_DOCUMENT) {
				switch (event) {
				case XmlPullParser.START_DOCUMENT:

					break;
				case XmlPullParser.START_TAG:
					// 将<d >北京</d>城市加入集合
					if ("d".equals(parser.getName())) {
						list.add(parser.nextText());
					}
					break;

				default:
					break;
				}
				event = parser.next();

			}
		} catch (XmlPullParserException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return list;
	}
}
//布局文件
 <!-- android:completionThreshold="1"设置只输入一个字就有提示 -->
    <AutoCompleteTextView
        android:id="@+id/autoTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入城市名" 
        android:completionThreshold="1"
        />

//解析文件citys_weather.xml
<citylist>
	<p p_id = "01">
	<pn>北京</pn>
	<c c_id="0101"><cn>北京</cn>
		<d d_id="101010100">北京</d>
		<d d_id="101010200">海淀</d>
		<d d_id="101010300">朝阳</d>
		<d d_id="101010400">顺义</d>
		<d d_id="101010500">怀柔</d>
		<d d_id="101010600">通州</d>
		<d d_id="101010700">昌平</d>
		<d d_id="101010800">延庆</d>
		<d d_id="101010900">丰台</d>
		<d d_id="101011000">石景山</d>
		<d d_id="101011100">大兴</d>
		<d d_id="101011200">房山</d>
		<d d_id="101011300">密云</d>
		<d d_id="101011400">门头沟</d>
		<d d_id="101011500">平谷</d>
	</c>
	</p>

	<p p_id = "02">
	<pn>上海</pn>
		<c c_id="0201"><cn>上海</cn>
				<d d_id="101020100">上海</d>
				<d d_id="101020200">闵行</d>
				<d d_id="101020300">宝山</d>
				<d d_id="101020500">嘉定</d>
				<d d_id="101020600">浦东南汇</d>
				<d d_id="101020700">金山</d>
				<d d_id="101020800">青浦</d>
				<d d_id="101020900">松江</d>
				<d d_id="101021000">奉贤</d>
				<d d_id="101021100">崇明</d>
				<d d_id="101021200">徐家汇</d>
				<d d_id="101021300">浦东</d>
			</c>
		</p>
</citylist>
相关文章
相关标签/搜索