zoukankan      html  css  js  c++  java
  • Spinner学习

    我暂且把Spinner称作下拉选择框吧,先来看一下它的效果:

    在layout文件中添加Spinner的代码如下:

    <Spinner
        android:id="@+id/planets_spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    要在选择列表中填充选项,必须指定一个SpinnerAdapter。

    在Spinner中填充用户选项

    在字符串资源文件中定义选项:

    <?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>

    有了上面的字符串数组,下面代码通过ArrayAdapter将选项传递给Spinner:

    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);

      createFromResource()方法可以根据字符串资源构造一个ArrayAdapter。

      setDropDownViewResource()指定下拉列表的显示方式。

      setAdapter()将adapter应用于Spinner。

    响应用户的选择

    当用户在下拉框中选择一个选项时,Spinner对象接收到一个on-item-selected事件。

    为Spinner添加事件处理,实现 AdapterView.OnItemSelectedListener接口和相应的onItemSelected()方法。

    public class SpinnerActivity extends Activity implements OnItemSelectedListener {
        ...
        
        public void onItemSelected(AdapterView<?> parent, View view, 
                int pos, long id) {
            // An item was selected. You can retrieve the selected item using
            // parent.getItemAtPosition(pos)
        }
    
        public void onNothingSelected(AdapterView<?> parent) {
            // Another interface callback
        }
    }

    然后,调用 setOnItemSelectedListener()指定实现的接口

    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    spinner.setOnItemSelectedListener(this);

    ***

  • 相关阅读:
    自定义UIView
    iOS界面-仿网易新闻左侧抽屉式交互
    初级美语 L081:A Heavy Price to Pay 解析
    初级美语 L079:Showing Off 解析
    初级美语 L077:Rome Wasn't Built in a Day 解析
    初级美语 L075:Michael’s Dream 解析
    初级美语 L073:Joe's Restaurant 解析
    初级美语 L071:Working Hard 解析
    初级美语 L069:Running a Bookstore 解析
    初级美语 L067:Getting Married 解析
  • 原文地址:https://www.cnblogs.com/sage-blog/p/4058244.html
Copyright © 2011-2022 走看看