item.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:id="@+id/textViewId"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. </LinearLayout>

main.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <Spinner
  8. android:id="@+id/spinnerId"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. </LinearLayout>

strings.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="hello">Hello World, MainActivity!</string>
  4. <string name="app_name">spinner</string>
  5. <string-array name="planets_array">
  6. <item>Mercury</item>
  7. <item>Venus</item>
  8. <item>Earth</item>
  9. <item>Mars</item>
  10. <item>Jupiter</item>
  11. <item>Saturn</item>
  12. <item>Uranus</item>
  13. <item>Neptune</item>
  14. </string-array>
  15. </resources>

MainActivity.java:

  1. package mars.spinner;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import android.app.Activity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.AdapterView;
  10. import android.widget.ArrayAdapter;
  11. import android.widget.Spinner;
  12. import android.widget.AdapterView.OnItemSelectedListener;
  13.  
  14. public class MainActivity extends Activity {
  15. /** Called when the activity is first created. */
  16. //声明Spinner对象
  17. private Spinner spinner = null;
  18.  
  19. @Override
  20. public void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.main);
  23. //通过ID,得到Spinner对象
  24. spinner = (Spinner) findViewById(R.id.spinnerId);
  25. List<String> list = new ArrayList<String>();
  26. list.add("test1");
  27. list.add("test2");
  28. //调用ArrayAdapter的构造函数来创建ArrayAdapter对象
  29. //第一个参数是指上下文对象
  30. //第二个参数指定了下拉菜单当中每一个条目的样式
  31. //第三个参数指定了TextView控件的ID
  32. //第四个参数为整个列表提供数据
  33. ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
  34. //通过createFromResource方法创建一个ArrayAdapter对象
  35. //第一个参数是指上下文对象
  36. //第二参数引用了在strings.xml文件当中定义的String数组
  37. //第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件
  38. /*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
  39. this, R.array.planets_array,
  40. android.R.layout.simple_spinner_item);
  41. */ //设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件
  42. //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  43.  
  44. spinner.setAdapter(adapter);
  45. spinner.setPrompt("测试");
  46. //为spinner对象绑定监听器
  47. spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
  48. }
  49. //这个监听器主要用来监听用户选择列表的动作
  50. class SpinnerOnSelectedListener implements OnItemSelectedListener{
  51.  
  52. //当用户选定了一个条目时,就会调用该方法
  53. @Override
  54. public void onItemSelected(AdapterView<?> adapterView, View view, int position,
  55. long id) {
  56. String selected = adapterView.getItemAtPosition(position).toString();
  57. System.out.println(selected);
  58. }
  59.  
  60. @Override
  61. public void onNothingSelected(AdapterView<?> adapterView) {
  62. // TODO Auto-generated method stub
  63. System.out.println("nothingSelected");
  64. }
  65.  
  66. }
  67. }

效果图如下:

spinner的使用的更多相关文章

  1. Android之Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...

  2. Spinner控件

    首先在XML文件中声明一个Spinner控件: <Spinner android:id="@+id/spinnerId" android:layout_width=" ...

  3. Xamarin.Android之Spinner的简单探讨

    一.前言 今天用了一下Spinner这个控件,主要是结合官网的例子来用的,不过官网的是把数据写在Strings.xml中的, 某种程度上,不是很符合我们需要的,比较多的应该都是从数据库读出来,绑定上去 ...

  4. Spinner

    资源的方式添加 安卓中的下拉框 Spinner可以通过xml string中配置 <string-array name="spingarr"> <item> ...

  5. Android--UI之Spinner

    前言 最近一直在讲AndroidUI的开发,今天讲一下Spinner控件,这是一个列表选择框,可以弹出一个列表供用户选择.在本片博客中,会讲解Spinner的基本属性以及设置之后的效果,以及使用Sim ...

  6. Android入门(七):Spinner下拉式菜单组件

    对于手机和平板电脑的应用程序来说,打字是非常不方便的操作方式,比较好的方式就是列出一组选项让用户挑选,这样就可以避免打字的麻烦.使用Spinner下拉菜单组件需要完成以下几个步骤: 1.建立选项列表, ...

  7. android 绑定spinner键值对显示内存地址的问题

    初学android,估计是.net学傻了,觉得android好麻烦. 绑定下拉菜单Spinner键值对. 参照这篇文章,地址:http://blog.csdn.net/shouliang52000/a ...

  8. android Spinner的简单用法

    上代码: spinner = (Spinner) findViewById(R.id.spinner); tv = (TextView) findViewById(R.id.tv); final Ar ...

  9. 转载java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.spinner/com.example.spinner.MainActivity}: java.lang.NullPointerException

    今天学习Android开发突然遇到了这个问题,查阅了很多资料,并且对集中原因进行了分析. 错误信息字符串:java.lang.RuntimeException: Unable to start act ...

  10. 三、spinner

    今天 ,看的和学的都不多,就弄了一个spinner控件而已,下面就记录一下spinner 用法吧 基本上说,使用spinner 有三个步骤 一.在布局文件里面设置spinner 控件,这个不用再多说了 ...

随机推荐

  1. [0CTF 2016] piapiapia

    一道非常有意思的反序列化漏洞的题目 花费了我不少时间理解和记忆 这里简单记录其中精髓 首先打开是一个登陆页面 dirsearch扫描到了www.zip源码备份 update.php <?php ...

  2. 【PAT甲级】1045 Favorite Color Stripe (30 分)(DP)

    题意: 输入一个正整数N(<=200),代表颜色总数,接下来输入一个正整数M(<=200),代表喜爱的颜色数量,接着输入M个正整数表示喜爱颜色的编号(同一颜色不会出现两次),接下来输入一个 ...

  3. 「CF197B Limit」

    题目撞名 题目大意: 给出两个函数 \(P(x),Q(x)\). \(P(x)=a_0 \times x^N+a_1 \times x^{N-1}+a_2 \times x^{N-2} \cdots ...

  4. linux修改文件的权限和修改文件所有者和所属组

    文件设定法:chmod    [who]   [+][-][=]   [mode] who 文件所有者:u 文件所属组:g 其他:o 所有人:a +  添加权限 -  减少权限 =  覆盖原来权限 权 ...

  5. js中字符串转json对象时报错: Uncaught SyntaxError: Unexpected token s in JSON at position 2

    解决方法: js中获取jsp的返回值 var json='${channels}' var channels = JSON.parse(json);就报上面的错. json的值最终会转成这种json格 ...

  6. SQL SERVER用户表信息

    可以使用下面这个语句查看用户表的相关信息 RowCount 记录数 FileGroup 文件组 PartitionScheme 分区结构 IsPartitioned 是否分区 SELECT tbl.n ...

  7. Jquery练习1

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. Python之时间和日期模块

    1.import time 先要导入时间模块 1)time.time()得到当前的时间,返回的是时间戳,表示自1970年1月1日起到程序运行时的秒数 import time print(time.ti ...

  9. SpringBoot 获得 properties 文件中数据方式

    参考:https://blog.csdn.net/qq_37171353/article/details/78005845

  10. 发送邮件#Python

    import yagmailusername='11@qq.com' #发件人邮箱qq='zhezlqiggd' #授权码,QQ邮箱可在设置账户获得mail_server='smtp.qq.com' ...