• 安卓 日常问题 工作日志5


    android
    RecyclerView插件的重要性   https://www.jianshu.com/p/c4cfe38a91ed
    RecyclerView重要的是 和adapt的 配合使用 完成 列表展示 橫向 纵向 

    天气 选择器 下拉框 使用
    Spinner 以及适配器   
    有主要有两种方式去做
    private Spinner spinnerWeather;  //天气的下拉框
    private ArrayAdapter adapterWeather; //天气的适配器
    private String Weather;
    private String weatherNumber;
    1.在activity中创建 下拉框的内容
    2.在resvaluesarrays.XML中编写列表
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

    <string-array name="weathers">
        <item>晴</item>
    <item>多云</item>
    <item>阵雨</item>
    <item>雨夹雪</item>
    <item>雨</item>
    <item>雾</item>
    <item>暴雪</item>
    <item>沙尘</item>
    <item>霾</item>
    </string-array>
    </resources>
    在XML文件中
    <Spinner
    android:id="@+id/spinnerWeather"
    android:layout_width="100dp"
    android:spinnerMode="dialog" //两种形式 dialog为消息框模式 另一种为下拉框形式
        android:layout_height="wrap_content"
    android:prompt="@string/getWeather"
    android:popupBackground="@color/actionsheet_blue"
    android:entries="@array/weathers"/>
    activity中 
    //天气下拉框
    spinnerWeather=(Spinner)view.findViewById(R.id.spinnerWeather);
    //天气下拉框 适配器   //将可选内容与ArrayAdapter连接起来
    1. adapterWeather=ArrayAdapter.createFromResource(getActivity(), R.array.weathers, android.R.layout.simple_spinner_item); //根据资源文件生成数组

    1.或者自己定义数组
    //        //数据
    // data_list = new ArrayList<String>();
    // data_list.add("雨");
    // data_list.add("雪");
    // data_list.add("风");
    // data_list.add("晴");
    // adapterWeather= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list); //另外一种动态添加的形式 data_list为 数据数组 包含天气

    2. //设置下拉列表的风格
    adapterWeather.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    //将数据写入adapterWeather候 将adapterWeather添加到spinnerWeather中
            spinnerWeather.setAdapter(adapterWeather);

    //添加事件Spinner事件监听
    spinnerWeather.setOnItemSelectedListener(new SpinnerXMLSelectedListener());
    //设置组件正常显示 View类的setVisibility()方法
    spinnerWeather.setVisibility(View.VISIBLE);



    重新加载页面后 回显 数据库中保存的 下拉框的值 必须紧挨着写 否则 无效 无法回显
    //设置 天气 下拉框的 值
    if(landForm.getWeather()==null){
    spinnerWeather.setSelection(0);
    }else{
    //注意 适配器的 回显问题 适配器在 必须得 初始化适配器 否则 程序不知道 适配器 是啥,回显不了 只能 默认初始值
    // int parseInt = Integer.parseInt(landForm.getWeather());
    switch (landForm.getWeather()){
    case "晴":
    spinnerWeather.setSelection(0,true);
    break;
    case "多云":
    spinnerWeather.setSelection(1,true);
    break;
    case "阵雨":
    spinnerWeather.setSelection(2,true);
    break;
    case "雨夹雪":
    spinnerWeather.setSelection(3,true);
    break;
    case "雨":
    spinnerWeather.setSelection(4,true);
    break;
    case "雾":
    spinnerWeather.setSelection(5,true);
    break;
    case "暴雪":
    spinnerWeather.setSelection(6,true);
    break;
    case "沙尘":
    spinnerWeather.setSelection(7,true);
    break;
    default: //霾
    spinnerWeather.setSelection(8,true);
    break;
    }


    //使用XML形式操作 天气下拉框 点击响应事件   在设置完监听后 这里 编写 点击响应时间 在 获取 被选中的值 并存入数据库 
    class SpinnerXMLSelectedListener implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
    //存数字吧
    Weather=adapterWeather.getItem(arg2).toString(); //这个是被选中的文本
    weatherNumber=String.valueOf(arg2);//这个是被选中的文本的编号 是第几个
    //arg2 就是被选中的 官方这么写参数的 我也没办法
    
    


    }

    public void onNothingSelected(AdapterView<?> arg0) {

    }

    }







    参看网站
    http://www.mybbchina.net/xialaliebiao/352218.html
    http://dditblog.com/itshare_286.html
    http://c.biancheng.net/view/3006.html
  • 相关阅读:
    两种常用图像识别迁移学习方法
    学习备忘
    图像处理代码举例(C++、MATLAB、OpenCV)
    Java 读取clob字段的几种方法
    Oracle 查询表注释以及字段注释
    Oracle 查询表的索引包含的字段
    Oracle 获取表的主键、外键以及唯一约束条件
    Oracle列信息表 all_tab_columns中的data_length和data_precision字段区别
    Oracle 表结构、索引以及分区信息查询
    Java中的String,StringBuilder,StringBuffer三者的区别
  • 原文地址:https://www.cnblogs.com/dushutai/p/12624915.html
Copyright © 2020-2023  润新知