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
}
}
}
res/values/arrays.xml
<?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>