行" private void setWallpaper(Bitmap bitmap)"给我一个不能从ContextWrapper错误中降低继承方法的可见性,我不知道如何解决它。所以,请你帮帮我,谢谢。
这是我的代码:
Thread t = new Thread(new Runnable(){
public void run(){
final Bitmap bmWallpaper = loadImage(toPhone2);
runOnUiThread(new Runnable(){
public void run() {
setWallpaper(bmWallpaper);
}
});}}
);
t.start();
break;
}
}
private Bitmap loadImage(int id) {
InputStream WP = getResources().openRawResource(id);
Bitmap wallpaper = BitmapFactory.decodeStream(WP);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
Bitmap tempbitMap = BitmapFactory.decodeResource(getResources(), toPhone2);
Bitmap bitmap = Bitmap.createScaledBitmap(tempbitMap,width,height, true);
return bitmap;
}
private void setWallpaper(Bitmap bitmap) {
try{
wallpaperManager.setBitmap(bitmap);
getApplicationContext().setWallpaper(wallpaper);
}catch(IOException e){
e.printStackTrace();
}
}
答案 0 :(得分:1)
您覆盖了某个功能,但更改了范围。如果你让它更明显,而不是更少,你就可以这样做。修复函数的范围,它将编译。
答案 1 :(得分:0)
可能你要覆盖方法setWallpaper(Bitmap bitmap),它必须声明为protected或public(我猜是公开的)。尝试更改
的行public void setWallpaper(Bitmap bitmap)
或
protected void setWallpaper(Bitmap bitmap)
取决于如何定义继承方法。