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

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

作者: 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");
                    }
                }
            });
    

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

    相关文章

      网友评论

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

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