书中只是简单写了选择的界面,没有写出选择之后的结果显示,我做了进一步功能。

MainActivity.java

  1. public class MainActivity extends Activity
  2. {
  3. Spinner spinner;
  4. Spinner spinner1;
  5. TextView tv;
  6. String[] arr = { "孙悟空", "猪八戒", "唐僧" };
  7. Button butt;
  8. int Position;
  9. @Override
  10. public void onCreate(Bundle savedInstanceState)
  11. {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. // 获取界面布局文件中的Spinner组件
  15. spinner = (Spinner) findViewById(R.id.spinner);
  16. spinner1 = (Spinner) findViewById(R.id.spin1);
  17. tv = (TextView) findViewById(R.id.tv);
  18. butt = (Button) findViewById(R.id.butt);
  19. // 创建ArrayAdapter对象
  20. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
  21. android.R.layout.simple_list_item_multiple_choice, arr);
  22. // 为Spinner设置Adapter
  23. spinner.setAdapter(adapter);
  24. butt.setOnClickListener(new View.OnClickListener() {
  25. @Override
  26. public void onClick(View v) {
  27. String string=spinner.getSelectedItem().toString();
  28. String string1 = spinner1.getSelectedItem().toString();
  29. tv.setText(string1+" + "+string);
  30. }
  31. });
  32. }
  33. }

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="match_parent"
  5. android:layout_height="match_parent">
  6. <!-- 定义了一个Spinner组件,指定显示该Spinner组件的数组 -->
  7. <Spinner
  8. android:id="@+id/spin1"
  9. android:layout_marginTop="40dp"
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. android:entries="@array/books"
  13. android:prompt="@string/tip"/>
  14. <Spinner
  15. android:id="@+id/spinner"
  16. android:layout_width="match_parent"
  17. android:layout_height="wrap_content"
  18. android:prompt="@string/tip"/>
  19.  
  20. <TextView
  21. android:id="@+id/tv"
  22. android:layout_marginTop="30dp"
  23. android:layout_gravity="center_horizontal"
  24. android:text="选择"
  25. android:textColor="@android:color/holo_red_light"
  26. android:textSize="30sp"
  27. android:layout_width="wrap_content"
  28. android:layout_height="wrap_content"/>
  29. <Button
  30. android:id="@+id/butt"
  31. android:layout_marginTop="30dp"
  32. android:text="确认"
  33. android:textSize="30dp"
  34. android:layout_gravity="center_horizontal"
  35. android:layout_width="wrap_content"
  36. android:layout_height="wrap_content"/>
  37. </LinearLayout>

效果:

Spinner功能和用法的更多相关文章

  1. Spinner --- 功能和用法

    第一种方法: 使用Spinner时需要配置选项的资源文件,资源文件为一个string类型的数组 在res下的values文件夹下新建一个xml文件 内容为: <?xml version=&quo ...

  2. Android 自学之画廊视图(Gallery)功能和用法

    Gallery与之前讲的Spinner有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表框.他们之间的区别在于Spinner显示的是一个垂直的列表框,而Gallery显 ...

  3. 搜索框(SearchView)的功能与用法

    SearchView是搜索框组件,它可以让用户在文本框内输入汉字,并允许通过监听器监控用户输入,当用户用户输入完成后提交搜索按钮时,也通过监听器执行实际的搜索. 使用SearchView时可以使用如下 ...

  4. 数值选择器(NumberPicker)的功能与用法

    数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. setMax ...

  5. 日历视图(CalendarView)组件的功能和用法

    日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...

  6. 星级评分条(RatingBar)的功能和用法

    星级评分条与拖动条有相同的父类:AbsSeekBar,因此它们十分相似.实际上星级评分条与拖动条的用法.功能都十分接近:它们都是允许用户通过拖动条来改变进度.RatingBar与SeekBar最大区别 ...

  7. 拖动条(SeekBar)的功能和用法

    拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程序,而拖动条则通过滑块的位置来标识数值——而且拖动条允许用户拖动滑块来改变值,因而拖动条通常用于对系统的某种数值进行调节,比如调节音量等 ...

  8. StackView的功能和用法

    StackView也是AdapterViewAnimator的子类,它也用于显示Adapter提供的系列View.SackView将会以“堆叠(Stack)”方式来显示多个列表项. 为了控制Stack ...

  9. MySQL常用存储引擎功能与用法详解

    本文实例讲述了MySQL常用存储引擎功能与用法. MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE ...

随机推荐

  1. UI5-文档-4.37-Content Density

    在本演练教程的这一步中,我们将根据用户的设备调整内容密度.SAPUI5包含不同的内容密度,允许您为支持触摸的设备显示更大的控件,为鼠标操作的设备显示更小.更紧凑的设计.在我们的app中,我们将检测设备 ...

  2. inline和inline-block的间隙问题

    我们在前端布局的时候,会偶尔发现,在具有inline/inline-block属性的元素间存在一小段间隙,网上有些文章说这个间隙是6px,但我觉得应该是一个空格的宽度. 这里以inline-block ...

  3. hive sql split 分隔符

    Hive字符串分割函数 split(str, regex) - Splits str around occurances that match regexTime taken: 0.769 secon ...

  4. hadoop无法启动常见原因

    1.Could not chdir to home directory /home/USER: Permission denied 启动datanode时会报这个错误,尝试利用ssh登录datanod ...

  5. C#操作Excel 单元格的格式处理[xyytIT]

    一. C# 操作 Excel 单元格自动填充,居中对齐,字体颜色等格式设置: Excel.Range titleRange = worksheet.get_Range(worksheet.Cells[ ...

  6. OC -网络请求 - NSURLConnection - GET

    #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> ...

  7. golang通过反射动态调用方法

    func Call(m map[string]interface{}, name string, params ...interface{}) ([]reflect.Value, error) { f ...

  8. VC2008 类型重定义的问题

    Q: 比如"a.h"里定义了类a,类a所有函数的实现都放在"a.cpp"里.然后"b.h"和"c.h"都需要用到类a,所 ...

  9. beego启动找不到conf的原因

    beego配置文件路径如下: app.conf内容 httpaddr = "192.168.199.178" httpport = appname = SecProxy runmo ...

  10. PAT 1054 求平均值 (20)(代码+思路+测试用例)

    1054 求平均值 (20)(20 分) 本题的基本要求非常简单:给定N个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的.一个"合法"的输入是[-1000,1000]区 ...