Spinners(下拉列表)

Posted yh_android_blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spinners(下拉列表)相关的知识,希望对你有一定的参考价值。

概述

下拉列表提供一个 从一组中选择一个的选项 的快速方法。在默认状态下,一个下拉列表展示了当前被选中的值。触摸该下拉列表就会显示一个落下的菜单,其中就包含所有其它的可选值,由用户选择一个新的值。 在你的布局中加入 Spinner  对象来添加一个下拉列表。通常你会在你的xml 布局文件中添加一个 <Spinner>  元素。例如:
   
    
     <Spinner
    
    
         android:id="@+id/planets_spinner"
    
    
         android:layout_width="fill_parent"
    
    
         android:layout_height="wrap_content" />
    
   
为了填充选择列表,你需要在你的activity 或 fragment 代码中定义一个   SpinnerAdapter

填充下拉列表以供用户选择

choices  你提供的选项可以来自任何数据源 must  但是必须经由 SpinnerAdapter , 提供,例如如果你的可选项在一个数组中,使用 ArrayAdapter,或者可选项是从数据库中获得的,使用 CursorAdapter  。 例如,如果下拉列表中的可选项已经预先确定了,你可以在string 资源文件夹中使用一个字符数组来提供他们:
    
     
      <?xml version="1.0" encoding="utf-8"?>
     
     
      <resources>
     
     
          <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>
     
    
有了一个这样的数组,你可以像下面代码一样在activity 或fragment 中通过  使用一个 ArrayAdapter提供这个数组:
    
     
      Spinner spinner = (Spinner) findViewById(R.id.spinner);
     
     
      // Create an ArrayAdapter using the string array and a default spinner layout
     
     
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
     
     
              R.array.planets_array, android.R.layout.simple_spinner_item);
     
     
      // Specify the layout to use when the list of choices appears
     
     
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     
     
      // Apply the adapter to the spinner
     
     
      spinner.setAdapter(adapter);
     
    
reateFromResource()  方法允许你从一个字符串数组中创建一个 ArrayAdapter  。该方法的第三个参数是布局资源,定义了选项的显示方式。 simple_spinner_item布局由平台提供,除非你定义了自己的





以上是关于Spinners(下拉列表)的主要内容,如果未能解决你的问题,请参考以下文章

Android:我应用中所有Spinners的全局风格

如何在Android中做像Combobox这样的“东西”?

去除input[type=number]最右边的spinners(默认加减符号)

下拉列表内容怎么设置?

根据第一个下拉列表更改第二个下拉列表,并使用 php 和数组更改第二个下拉列表的第三个下拉列表 [关闭]

保存下拉列表的选定值并在另一个下拉列表/重复下拉列表中默认分配它