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

Android 如何获取Listview所有子视图(可见和不可见),android,listview,bitmap,Android,Listview,Bitmap,我的问题类似于 我需要将所有listview项目保存到位图,listview项目由textview膨胀。无论它们在视图中可见或不可见 我想获取所有子视图并转换为位图,我尝试了以下操作: view = adapter.getView(i,null,lv); view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.

我的问题类似于

我需要将所有listview项目保存到位图,listview项目由textview膨胀。无论它们在视图中可见或不可见

我想获取所有子视图并转换为位图,我尝试了以下操作:

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()方法将无法正常工作


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

使用以下方法修复:

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

您可以使用适配器的
getCount()
。是的,在我的代码中,变量'I'位于for语句中,其中'I'循环到adapter.getCount()