• 一手遮天 Android


    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

    一手遮天 Android - view(选择类): Spinner 通过 ArrayAdapter 显示数据

    示例如下:

    /view/selection/SpinnerDemo3.java

    /**
     * Spinner - 列表选择框控件(演示如何通过 ArrayAdapter 显示数据)
     */
    
    package com.webabcd.androiddemo.view.selection;
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    import com.webabcd.androiddemo.R;
    
    public class SpinnerDemo3 extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    
        private Spinner mSpinner1;
        private Spinner mSpinner2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_view_selection_spinnerdemo3);
    
            mSpinner1 = findViewById(R.id.spinner1);
            mSpinner2 = findViewById(R.id.spinner2);
    
            // 选择项发生变化时触发的事件(注:第一次加载时也会触发此事件)
            mSpinner1.setOnItemSelectedListener(this);
            mSpinner2.setOnItemSelectedListener(this);
    
            sample();
        }
    
        private void sample() {
            // 通过指定的数组资源(需要显示的数据)和项模板(需要显示的样式)创建 ArrayAdapter
            // ArrayAdapter - 数组适配器(另外还有 SimpleAdapter, BaseAdapter 自定义适配器)
            //     数据来自指定的数组资源
            //     项模板为 simple_list_item_1(另外还有其他很多系统内置项模板,不一一列列举了,因为实际最常用的还是自定义项模板)
            ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.arrayCountry, android.R.layout.simple_list_item_1 );
            mSpinner1.setAdapter(adapter2);
    
            // 通过指定的项模板(需要显示的样式)和数组(需要显示的数据)创建 ArrayAdapter
            //     项模板为自定义的 res/layout/item_view_selection_spinnerdemo3.xml
            //     数据来自指定的数组
            String[] arrayData = {"中国", "美国", "日本"};
            ArrayAdapter<String> adapter3 = new ArrayAdapter<>(this,R.layout.item_view_selection_spinnerdemo3, arrayData);
            mSpinner2.setAdapter(adapter3);
        }
    
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            // parent 就是 ListView
            // view 就是被点击的 item
            // position 就是被点击的 item 的索引位置
            if (parent.getId() == R.id.spinner1) {
                Toast.makeText(this, String.format("spinner1 click position:%d", position), Toast.LENGTH_SHORT).show();
            }
            else if (parent.getId() == R.id.spinner2) {
                Toast.makeText(this, String.format("spinner2 click position:%d", position), Toast.LENGTH_SHORT).show();
            }
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
    
        }
    }
    
    

    /layout/activity_view_selection_spinnerdemo3.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="200dp"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    
    

    /layout/item_view_selection_spinnerdemo3.xml

    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:textColor="#0000ff"
        android:textSize="24dp" />
    

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

  • 相关阅读:
    JavaScript获取键盘事件
    Java 虚拟机的内存结构
    Java 实现 Http 请求工具类
    HTML5之FileReader文件读取接口
    使用 PLSQL 连接 Oracle9i 数据库
    使用 Navicate 连接 Oracle9i 数据库
    Eclipse 刚检出的项目 Build path 的时候提示 No action available
    Eclipse 中 Debug 调试 java 代码一直报 Source not found
    mongodb 客户端工具
    spring 国际化
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_view_selection_SpinnerDemo3.html
Copyright © 2020-2023  润新知