【问题标题】:How to fix Cannot reduce the visibility of the inherited method from ContextWrapper error?如何修复无法从 ContextWrapper 错误中降低继承方法的可见性?
【发布时间】:2014-08-06 22:23:38
【问题描述】:

“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();
                }
        }

【问题讨论】:

    标签: java android eclipse


    【解决方案1】:

    您覆盖了一个函数但更改了范围。只有让它更明显,而不是更少,你才能做到这一点。修复函数的作用域,它会编译。

    【讨论】:

    • 使用方法不起作用。
    • 更具体地说,Context 类声明了一个方法public void setWallpaper(Bitmap bitmap),它可以执行您尝试执行的操作(但是,它已被弃用)。您可以添加 @Override 并将您的方法更改为公开,或重命名您的方法。
    【解决方案2】:

    可能您正在覆盖方法 setWallpaper(Bitmap bitmap),它必须声明为受保护或公共(我猜是公共的)。换行试试

    public void setWallpaper(Bitmap bitmap)
    

    protected void setWallpaper(Bitmap bitmap)
    

    取决于继承的方法是如何定义的。

    【讨论】:

      猜你喜欢
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 2019-01-27
      • 2014-04-14
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多