0

好的,我认为它引发了异常。不幸的是,我没有收到错误。它加载到模拟器和我的手机上,但不会执行。它只是说,“应用程序 MyApp(进程 com.myapp)已意外停止。请重试。” 然后是强制关闭按钮。:(

这是我的代码:

public void onClick(DialogInterface dialog, int id) {
    try {
        MyActivity.this.setWallpaper(mContext.getDrawingCache()); 
        finish();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

在我自己的研究中,我看到有人从 getDrawingCache 获取位图并将其转换为位图?但是 view.getDrawingCache 上的文档说它已经是一个位图,并且 setWallpaper 应该设置一个位图......我在这里没有想法。

4

1 回答 1

2

什么是 mContext?getDrawingCache() 是 View 类的一个方法,只有在您第一次调用 setDrawingCacheEnabled(true) 或调用 buildDrawingCache() 时才会返回一个有效的位图。您还必须确保视图通过了布局通道并且其宽度和高度 > 0。

于 2011-01-19T17:05:43.107 回答