Spinner 是基本的元件,紀錄一下其在程式中動態和靜態給值的使用方法
首先在 layout 的 xml 中宣告 Spinner 元件
<Spinner android:id="@+id/spnSex"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:textSize="20sp"
android:drawSelectorOnTop="true"
android:prompt="@string/spnSexPrompt"
/>
Activity 中 透過以下方式取得元件
Spinner spnSex = (Spinner)findViewById(R.id.spnSex);
動態方式給值:
程式中宣告陣列:
String[] sSexList = new String[] {"男", "女"};
建立一個 String 型別的 ArraryAdapter,將陣列丟給它:
ArrayAdapter<String> adapSexList = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, sSexList);
將 ArrayAdapter 設為 spinner 格式:
adapSexList.setDropDownViewResource(android.R.layout.simple_spinner_item);
靜態方式給值:
在 strings.xml 中加入
<string-array name="spnSexList">
<item>男</item>
<item>女</item>
</string-array>
建立一個 CharSequence 型別的 ArraryAdapter,直接用 createFromResource() 從 R.java 建立物件:
ArrayAdapter<CharSequence> adapSexList = ArrayAdapter.createFromResource(
this, R.array.spnSexList, R.layout.spinner_layout);
把 ArrayAdapter 設給 Spinner 元件:
spnSex.setAdapter(adapSexList);
設定 Spinner 事件發生時的 Listener:
spnSex.setOnItemSelectedListener(spnSexItemSelLis);
宣告觸發 Spinner 事件發生時 Listener 所做的事:
private Spinner.OnItemSelectedListener spnSexItemSelLis =
new Spinner.OnItemSelectedListener () {
public void onItemSelected(AdapterView parent, View v, int position, long id) {
sSex = parent.getSelectedItem().toString();
}
public void onNothingSelected(AdapterView parent) {
}
};
簡單簡單,這次就不罵幹你娘了。
全站熱搜