zoukankan      html  css  js  c++  java
  • android:spinner

    Spinner的基本可以参考这里:AndroidGUI03:Spinner的常用技巧

    update:

    项目中有一个界面是要用到spinner的选择然后自动reload ListView的,一开始在onCreate时人为加上listView.setAdapter()来加载数据,现在发现没必要,我spinner 的onItemSelected方法中也有listView.setAdapter() (使用此来出现加载),调试时发现,数据加载了两次,原来在初始时,如果你有spinner,系统会自动调用onItemSelected(并且以第一项为初始),导致与我onCreate的load 重复。

    update:

    想实现一个在之前的listview 的item选定之后跳到View2之后,跳回来的时候listview还是跳之前的spinner对应的item的数据。一开始只是在onItemSelected中把textView的字改掉,然后实现加载时把加载的position也改掉,很快发现这只是一直伪做法,spinner中的选择项显示肯定是没变化的。现在发现android有一个spinner.setSelection(n,true)来选择选定项,使用这个即可。

    之前发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发OnItemSelectedListener事件。可是如果你 使用spinner.setSelection(2,true);之后,系统在初始时就不会执行onItemSelected了。

    [Android]为Spinner填充数据后设置默认值的问题

     

     

    updata:

    发现:
    初始时系统调不调用onItemSelected和你setOnItemSelectedListener(this); setSelection(spinnerItem, true);的顺序有关:

    //调用onItemSelected

    spinner.setOnItemSelectedListener(this);
    spinner.setSelection(spinnerItem, true);

    两句调换则不会调用onItemSelected

  • 相关阅读:
    二、JVM — 垃圾回收
    一、JVM — Java内存区域
    四、JVM — 类文件结构
    java 如何重写equal 和hashcode方法(最佳实践)
    Java关于继承中的内存分配
    Linux — 基础知识
    Zookeeper — 应用场景
    分布式服务接口请求的顺序性如何保证?
    如何设计一个高并发系统?
    索引策略
  • 原文地址:https://www.cnblogs.com/mybkn/p/2529389.html
Copyright © 2011-2022 走看看