title: Android get screenshot of all ListView items
body: <pre><code>View v = rootView.findViewById(R.id.layout1);
  if (v != null) {
      v.buildDrawingCache();
      Bitmap bitmap = v.getDrawingCache();
      canvas.drawBitmap(bitmap, dummyMatrix, null);
      v.destroyDrawingCache();   
  }
  </code></pre>
  
  <p>I have this code. But I need to screenshot all my ListView items, but if my listview's have more items than visible on the screen, this code don't capture when the items bigger than the visible rect. </p>
  
  <p>How to capture my ListView correctly?</p>
  
  <p><strong>NEW WORKING CODE CREATED BY ME</strong></p>
  
  <pre><code>public static Bitmap getWholeListViewItemsToBitmap() {
  
      ListView listview    = MyActivity.mFocusedListView;
      ListAdapter adapter  = listview.getAdapter(); 
      int itemscount       = adapter.getCount();
      int allitemsheight   = 0;
      List&lt;Bitmap&gt; bmps    = new ArrayList&lt;Bitmap&gt;();
  
      for (int i = 0; i &lt; itemscount; i++) {
  
          View childView      = adapter.getView(i, null, listview);
          childView.measure(MeasureSpec.makeMeasureSpec(listview.getWidth(), MeasureSpec.EXACTLY), 
                  MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
  
          childView.layout(0, 0, childView.getMeasuredWidth(), childView.getMeasuredHeight());
          childView.setDrawingCacheEnabled(true);
          childView.buildDrawingCache();
          bmps.add(childView.getDrawingCache());
          allitemsheight+=childView.getMeasuredHeight();
      }
  
      Bitmap bigbitmap    = Bitmap.createBitmap(listview.getMeasuredWidth(), allitemsheight, Bitmap.Config.ARGB_8888);
      Canvas bigcanvas    = new Canvas(bigbitmap);
  
      Paint paint = new Paint();
      int iHeight = 0;
  
      for (int i = 0; i &lt; bmps.size(); i++) {
          Bitmap bmp = bmps.get(i);
          bigcanvas.drawBitmap(bmp, 0, iHeight, paint);
          iHeight+=bmp.getHeight();
  
          bmp.recycle();
          bmp=null;
      }
  
  
      return bigbitmap;
  }
  </code></pre>