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>
相關文章
相關標籤/搜索