轉發請註明出處:
安卓猴的專欄(http://blog.csdn.net/androidmonkey)
安卓猴的微博(@安卓猴)
通過本節課可以學習到的內容:
- Spinner的用法
- AutoCompleteTextView的用法
實例代碼:
運行效果參見本課程示例App:安卓猴Demos
Spinner的用法
Spinner
,俗稱下拉列表,它提供了一組固定的值或選項,允許用戶從中選擇一個作爲默認的狀態。
AutoCompleteTextView的用法
AutoCompleteTextView
,自動完成文本框,用戶在輸入時給予補全提醒。
效果圖
Activity的源碼
package com.sunjiajia.monkeyandroid;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;
/**
* Created by monkey on 1/3/16.
*/
public class SpinnerAutoCompleteTextViewActivity extends BaseActivity {
@Override public int giveViewResId() {
return R.layout.activity_spinner_autocompletetextview;
}
private Spinner mSpinnerCity;
private String[] mDatas;
private AutoCompleteTextView tvAc;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intViews();
initData();
confingViews();
}
private void confingViews() {
setSpinner();
setAutoCompleteTextView();
}
private void setAutoCompleteTextView() {
ArrayAdapter<CharSequence> adapter03 =
ArrayAdapter.createFromResource(this, R.array.av_male, android.R.layout.simple_list_item_1);
tvAc.setAdapter(adapter03);
}
private void setSpinner() {
//通過適配器來進行動態的數據填充
// 第一種:
/* ArrayAdapter<String> adapter01 =
new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, mDatas);
mSpinnerCity.setAdapter(adapter01);*/
ArrayAdapter<CharSequence> adapter02 = ArrayAdapter.createFromResource(this, R.array.city,
android.R.layout.simple_list_item_1);
mSpinnerCity.setAdapter(adapter02);
}
private void intViews() {
mSpinnerCity = (Spinner) findViewById(R.id.spinner_city);
tvAc = (AutoCompleteTextView) findViewById(R.id.tv_autocomplete);
}
protected void initData() {
mDatas = new String[] { "動態數據Spinner", "北京", "上海", "深圳", "廣州", "洛杉磯", "紐約", "華盛頓" };
}
}
佈局文件XML的源碼
<?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:gravity="center_horizontal"
android:orientation="vertical"
>
<!--
android:entries="@array/av_male"
用來綁定靜態的array數據。
-->
<Spinner
android:id="@+id/spinner_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/av_male"
/>
<Spinner
android:layout_marginTop="30dp"
android:id="@+id/spinner_city"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!--
android:completionThreshold="1"
用來設置第幾個字符開始提示;
-->
<AutoCompleteTextView
android:id="@+id/tv_autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:hint="請輸入侍寢的女優名字"
/>
</LinearLayout>
values/arrays.xml源碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="av_male">
<item>靜態數據Spinner</item>
<item>蒼井空</item>
<item>蒼小妹</item>
<item>蒼二妹</item>
<item>朝桐光</item>
<item>朝小姐</item>
<item>朝美女</item>
<item>小澤瑪利亞</item>
<item>小倉美女</item>
<item>西翔野</item>
<item>西門慶</item>
<item>孫靜雅</item>
<item>孫悟空</item>
<item>波多野結衣</item>
<item>菠蘿菠蘿蜜</item>
</array>
<array name="city">
<item>動態填充數據2</item>
<item>北京</item>
<item>上海</item>
<item>深圳</item>
<item>廣州</item>
<item>洛杉磯</item>
<item>紐約</item>
<item>華盛頓</item>
</array>
</resources>
下課
這一節課,我們主要學習了Spinner和AutoCompleteTextView,希望能夠在實際中加以運用!