Android 下拉清單Spinner控件的用法。Spinner用來顯示使用者選擇的選項,當點選時将彈出清單供使用者選擇
package com.spinnerdemo;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends Activity {
/*
* 下拉清單Demo
*
* 下拉清單控件Spinner:每次隻顯示使用者選擇的選項,當再次點選時會彈出清單供使用者選擇
*/
private String TAG = "SpinnerDemo";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
/*
* Spinner的使用。
*
* 注意:兩種資料來源方式
* 自定義顯示樣式
*
*/
// 第一種方式生成的資源檔案
String str[] = { "China", "Russia", "Germany", "USA" };
// 建立擴充卡并綁定資料源 第二個參數是樣式 還有很多種
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, str);
spinner.setAdapter(adapter);
//隻能在values中一般名字為arrays.xml
String[] item = getResources().getStringArray(R.array.country);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, item);
spinner2.setAdapter(adapter2);
// 添加事件
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//添加監聽事件。
public class MyOnItemSelectedListener implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long arg3){
// 在這裡我們複習一下Toast的用法
Toast.makeText(parent.getContext(),
"The planet is "+ parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
//nothing to do
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--used in spinner-->
<string-array name="country">
<item>China2</item>
<item>Russia2</item>
<item>Germany</item>
<item>USA</item>
</string-array>
</resources>