美文网首页
安卓 列表模式中,打开和关闭标记的时候,标记不能放在控件或内存中

安卓 列表模式中,打开和关闭标记的时候,标记不能放在控件或内存中

作者: Pino | 来源:发表于2019-07-25 17:47 被阅读0次

看demos,我这里是一个列表模式(单一条目不用看了),上下滚动,然后每一个条目的文字都可以收复或者展开

tv_show_more.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 这是点击的代码
                if (tv_remark.getTag().toString().equals("open")) {
                    tv_remark.setLines(5);
                    tv_show_more.setText(Html.fromHtml("<u><i>" + "More" + "</i></u>"));
                    tv_remark.setTag("close");
                } else {
                    tv_remark.setMaxLines(Integer.MAX_VALUE);
                    tv_show_more.setText(Html.fromHtml("<u><i>" + "Pack up" + "</i></u>"));
                    tv_remark.setTag("open");
                }
            }
        });

如果把一个开关变量保存在控件中,或者内存中,只要列表重新滚动,那么标记都会回复初始状态,
所以,如果要做开关.比如文字展开和收复的功能,只能在数据里面增加一个标记,只有这样才能在滚动的时候,恢复到上次打开或者关闭的状态

相关文章

  • 安卓 列表模式中,打开和关闭标记的时候,标记不能放在控件或内存中

    看demos,我这里是一个列表模式(单一条目不用看了),上下滚动,然后每一个条目的文字都可以收复或者展开 如果把一...

  • G1垃圾回收 -1

    标记清除,标记复制,标记-清除-压缩, 标记清除 标记清除呢就是比较直观的理解了,内存中当引用不可达之后这一块内存...

  • JavaScript垃圾回收机制

    地址 标记清除 摘自高设:垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记(标记方法不用过多讨论),然后...

  • Python基础(3) - 去掉列表或元组中的重复元素

    如何在列表(元组)去重 列表List的定义:使用中括号[]标记 元组tuple的定义:使用圆括号()标记 集合di...

  • gc常用算法

    标记清除 标记清除主要分为两步 标记,标记需要清除的对象 清除,在内存中清除这些对象 优点 速度快 清理之后存活对...

  • 垃圾收集算法

    1、标记-清除算法容易产生大量不连续的内存碎片2、复制算法将内存分为Eden控件和两个survivor控件,每次使...

  • js 垃圾回收

    js 中垃圾回收机制 引用内存会一直存在,直到不被使用标记,人为清除如:设为 null、浏览器关闭、页面关闭 局部...

  • HTML第三天

    列表标签 无序列表标签:ul 列表项1 列表项2 列表项3 ...... 中只能嵌套 ,直接在 标记中...

  • APUE读书笔记-18终端输入输出(4)

    5、终端选项标记 这一节中,我们列出了各种终端选项标记,扩展了前面我们所省略的列表中的相应描述。列表以字母次序列出...

  • Android内存优化之垃圾回收算法

    这篇文章简单谈谈Android性能优化中的内存优化。 标记清除算法 :标记清除算法主要分为有两个阶段,首先标记出需...

网友评论

      本文标题:安卓 列表模式中,打开和关闭标记的时候,标记不能放在控件或内存中

      本文链接:https://www.haomeiwen.com/subject/qickrctx.html