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

    ***

  • 相关阅读:
    linux开机启动服务配置
    流媒体服务器配置安装SRS及nginx+rtmp
    WEBRTC配置安装
    linux操作20200825
    转载流媒体服务器相关收藏
    RabbitMQ中间件使用
    如何查找删除指定进程
    硬件接口,串行比并行快的原因
    JavaBean+jsp开发模式 --结合form表单 实例
    session会话
  • 原文地址:https://www.cnblogs.com/sage-blog/p/4058244.html
Copyright © 2011-2022 走看看