好吧我认为这是一个例外。不幸的是我没有收到错误。 它加载到模拟器和我的手机上,但不会执行。它只是说,“应用程序MyApp(进程com.myapp)意外停止。请再试一次。”然后是ForceClose按钮。 :(
这里是我的代码:
public void onClick(DialogInterface dialog, int id) {
try {
MyActivity.this.setWallpaper(mContext.getDrawingCache());
finish();
} catch (IOException e) {
e.printStackTrace();
}
}
在我自己的研究中,我看到有人从getDrawingCache获取位图并将其转换为位图?但是view.getDrawingCache上的文档说它已经是一个位图,而setWallpaper应该设置一个位图...... 我在这里没有想法。
答案 0 :(得分:2)
什么是mContext? getDrawingCache()是View类的一个方法,如果你第一次调用setDrawingCacheEnabled(true)或者调用buildDrawingCache(),它将只返回一个有效的Bitmap。您还必须确保View经过了布局过程,并且其宽度和高度都是> 0