【问题标题】:how to add item in Spinner Android [duplicate]如何在 Spinner Android 中添加项目 [重复]
【发布时间】:2014-09-09 14:32:58
【问题描述】:

如何在微调器中从 str 添加项目?我尝试了 ArrayList、ArrayAdapter 但没有用...

String[] str={"item 1","item 2","item 3"}; 
Spinner s=(Spinner)findViewById(R.id.spinner);

【问题讨论】:

    标签: android spinner


    【解决方案1】:

    Android 参考有一个很好的例子,而不是使用:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
    

    如示例中给出的(这是因为 Spinner 是从 xml 文件中定义的预先存在的字符串数组资源填充的)您可以使用接受 List 作为其参数的 ArrayAdapter 构造函数,如显示在:

    http://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter%28android.content.Context,%20int,%20java.util.List%3CT%3E%29

    你可以这样做:

    ArrayAdapter<String> mArrayAdapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.your_layout,mYourList)
    

    其中 mYourList 可以是 ArrayList&lt;String&gt;,您可以在其中存储要填充 Spinner 的数据。

    【讨论】:

      【解决方案2】:

      您可以使用简单的默认 ArrayAdapter 来动态实现您的要求。下面是代码 sn-p 您可以遵循并修改您的 onCreate 方法以在微调器中添加值。

          spinner = (Spinner) findViewById(R.id.spinner);
          ArrayAdapter<String> adapter;
          List<String> list;
      
          list = new ArrayList<String>();
          list.add("Item 1");
          list.add("Item 2");
          list.add("Item 3");
          list.add("Item 4");
          list.add("Item 5");
          adapter = new ArrayAdapter<String>(getApplicationContext(),
                  android.R.layout.simple_spinner_item, list);
          adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          spinner.setAdapter(adapter);
      

      如果您希望静态添加微调器值,您可以在 xml 文件中添加数组并为微调器分配属性entries。下面是sn-p的代码。

      您的布局 xml 文件

      <Spinner android:id="@+id/spinner"  
          android:layout_width="fill_parent"                  
          android:drawSelectorOnTop="true"
          android:prompt="@string/spin"
          android:entries="@array/items" />
      

      在您的arrays.xml 文件中

      <string-array name="items">
          <item>Item 1</item>
          <item>Item 2</item>
          <item>Item 3</item>
          <item>Item 4</item>
          <item>Item 5</item>
      </string-array>
      

      【讨论】:

      • 此代码不起作用
      • @DacSaunders 好的!!!
      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-29
        • 2018-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多