item.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textViewId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Spinner
android:id="@+id/spinnerId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">spinner</string>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>

MainActivity.java:

package mars.spinner;

import java.util.ArrayList;
import java.util.List; import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener; public class MainActivity extends Activity {
/** Called when the activity is first created. */
//声明Spinner对象
private Spinner spinner = null; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过ID,得到Spinner对象
spinner = (Spinner) findViewById(R.id.spinnerId);
List<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
//调用ArrayAdapter的构造函数来创建ArrayAdapter对象
//第一个参数是指上下文对象
//第二个参数指定了下拉菜单当中每一个条目的样式
//第三个参数指定了TextView控件的ID
//第四个参数为整个列表提供数据
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
//通过createFromResource方法创建一个ArrayAdapter对象
//第一个参数是指上下文对象
//第二参数引用了在strings.xml文件当中定义的String数组
//第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件
/*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array,
android.R.layout.simple_spinner_item);
*/ //设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
spinner.setPrompt("测试");
//为spinner对象绑定监听器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
}
//这个监听器主要用来监听用户选择列表的动作
class SpinnerOnSelectedListener implements OnItemSelectedListener{ //当用户选定了一个条目时,就会调用该方法
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position,
long id) {
String selected = adapterView.getItemAtPosition(position).toString();
System.out.println(selected);
} @Override
public void onNothingSelected(AdapterView<?> adapterView) {
// TODO Auto-generated method stub
System.out.println("nothingSelected");
} }
}

效果图如下:

最新文章

  1. Redis 主从配置和参数详解
  2. google play iap 常见问题
  3. GWAS Simulation
  4. 如何使用Math对象快速计算数组中的最大值或最小值
  5. tar 打包文件 除某个文件夹
  6. Linux之格式化与挂载
  7. 【POJ 2886】Who Gets the Most Candies?
  8. Jquery EasyUi实战教程布局篇
  9. Struts2的struts.properties文件在哪儿啊?
  10. [TypeScript] Stopping a TypeScript Build When Errors Are Found
  11. UVA 1660 Cable TV Network
  12. 转:Delphi中destroy, free, freeAndNil, release用法和区别
  13. iOS 获取设备信息,mac地址,IP地址,设备名称
  14. 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计&#160;|基于最新版1.0开发者工具
  15. [Alpha阶段]第九次Scrum Meeting
  16. 【java多线程】队列系统之说说队列Queue
  17. onTouchEvent方法的使用
  18. 朴素贝叶斯算法的python实现 -- 机器学习实战
  19. trim()不兼容ie的问题及解决方法
  20. LumiSoft.Net 收发邮件

热门文章

  1. 【JavaScript】关于eval(&quot;(&quot;+result+&quot;)&quot;)的认识
  2. 20 JavaScript随机&amp;逻辑&amp;比较&amp;类型转换
  3. 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作
  4. 吴裕雄--天生自然Numpy库学习笔记:NumPy 从数值范围创建数组
  5. JavaWeb项目用浏览器打开网页出现Session Error提示的解决办法
  6. leetcode 0214
  7. 根据class 属性判断所有的文本框必填
  8. Math 用法
  9. 「CF197B Limit」
  10. OBS输出设置