如何稳定android中的适配器

时间:2014-06-15 03:23:29

标签: android android-layout android-listview adapter

我有一个由适配器支持的列表视图。每行都有许多视图,其中两个是文本视图。因为我需要在文字视图上调用view.getMeasuredWidth(),所以我会调用onGlobalLayout()内部的文字视图并将数据分配为

textview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @SuppressLint("NewApi")
        @Override
        public void onGlobalLayout() {
            int length = Utils.getTextLengthToFitTextview(textview, strValue);
            textview.setText(strValue.substring(0, length));
            if (length < strValue.length()) {
                textview2.setText(strValue.substring(length));
            } else {
                textview2.setVisibility(View.GONE);
            }
            if (Utils.hasJellyBean()) {
                textview.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            } else {
                textview.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            }
        }
    });

现在由于某种原因,textview和textview1的内容并不总是与相应的行匹配。当我滚动时,内容跳跃行。有谁知道我怎么解决这个问题?我通过扩展BaseAdapter来创建我的适配器。

此外,我正在使用持有人模式来表达我的观点。

0 个答案:

没有答案