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

看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("" + "More" + ""));
                    tv_remark.setTag("close");
                } else {
                    tv_remark.setMaxLines(Integer.MAX_VALUE);
                    tv_show_more.setText(Html.fromHtml("" + "Pack up" + ""));
                    tv_remark.setTag("open");
                }
            }
        });

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

你可能感兴趣的:(安卓 列表模式中,打开和关闭标记的时候,标记不能放在控件或内存中保存)