如何获取Listview所有子视图(可见和不可见)

时间:2013-05-07 04:25:19

标签: android listview bitmap

我的问题类似于How to get all children (visible and invisible) from a ListView?

我需要将所有listview项目保存到位图,listview项目由textview填充。无论它们在lisview中是可见的还是不可见的。

我想获取所有子视图并转换为位图,我尝试如下:

view = adapter.getView(i,null,lv);
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
         MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth()
            view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
bitmap.eraseColor(Color.WHITE);
Canvas canvas = new Canvas(bitmap);
canvas.translate(10, 10);
view.draw(canvas);

mybitmap = combineImages(mybitmap, bitmap);

但是如果项目文本太多(其中一些包含长文本)方法,view.getMeasuredWidth()和view.getMeasuredHeight(),它们无法正常工作。

我想知道我对这个问题的想法是否正确,如果没有,我该如何解决?

1 个答案:

答案 0 :(得分:0)

使用以下内容进行修复:

 view.measure(MeasureSpec.makeMeasureSpec(lv.getWidth(),
    MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(0,
        MeasureSpec.UNSPECIFIED));