0
我必须创建整个列表视图项目的位图;目前我下面这个方法:转换整个列表视图项目(儿童)到位图
To capture the listview individual items I have the below code:
ListView listview = shoppingItemList;
BaseAdapter adapter = (BaseAdapter) listview.getAdapter();
int itemscount = adapter.getCount();
int allitemsheight = 0;
List<Bitmap> bmps = new ArrayList<Bitmap>();
System.out.println("In getWholeListViewItemsToBitmap.......");
for (int i = 0; i < itemscount; i++) {
View childView = adapter.getView(i, null, listview); childView.setDrawingCacheEnabled(true);
childView.measure(
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
childView.layout(0, 0, childView.getMeasuredWidth(),
childView.getMeasuredHeight());
// childView.setDrawingCacheEnabled(true);
childView.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(childView.getDrawingCache());
bmps.add(b);
childView.setDrawingCacheEnabled(true);
allitemsheight += childView.getMeasuredHeight();
}
我现在面临的问题是: 无需登录childView.measure之后的任何错误我的应用程序退出... 任何人都可以请帮我搞清楚究竟是什么问题。
感谢, Android开发
添加catch块和记录异常,然后张贴在这里 –
嗨,这是异常已登录> 的措施的例外....空 的Java。 lang.NullPointerException at android.graphics.Bitmap.createBitmap(Bitmap.java:403) .activity.HomeScreenActivty.getWholeListViewItemsToBitmap(HomeScreenActivty.java:424) – user1257009
我可以找出为什么我得到n。 我之前使用BaseAdapter而不是使用Arrayadapter。 现在我正在使用 - ArrayAdapter adapter =(ArrayAdapter)listview.getAdapter(); 也使用ArrayAdapter构造函数,它需要这样的布局资源ID: listAdapterArray = new ListItemsArrayAdapter(this,R.layout.listviewitem,itemList); shoppingItemList.setAdapter(listAdapterArray); 然后调用上面提到的代码。 – user1257009