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>