如何获得列表视图的所有子视图(有形和无形)

问题描述:

我的问题是类似How to get all children (visible and invisible) from a 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(),这些工作不正常。

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

+0

您可以用'getCount将()'适配器。 – 2013-05-07 07:28:56

+0

是的,我做了,在我的代码变量'我'是在for语句中,'我'循环到adapter.getCount() – Pidakar 2013-05-07 07:49:42

采用以下解决:

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