0

我正在按照教程尝试使用按钮的 onclick 事件设置壁纸。

我的代码是,

private OnClickListener startListener = new OnClickListener(){

    public void onClick(View v){

        setBg();}

    public void setBg(){
        WallpaperManager myWallpaperManager
         = WallpaperManager.getInstance(getApplicationContext());
        try {
         myWallpaperManager.setResource(R.drawable.shrek);
        } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }

       }

我也设置了权限SETWALLPAPER。

但是当我点击时,什么也没有发生。

这里有什么问题?

4

1 回答 1

1

在本教程中,他使用的 OnClickListener 有点不同:
buttonSetWallpaper.setOnClickListener(new Button.OnClickListener(){....

试试这个,应该工作:

start.setOnClickListener(new Button.OnClickListener(){

   @Override
   public void onClick(View arg0) { 
    WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());
    try {
     myWallpaperManager.setResource(R.drawable.shrek);
    } catch (IOException e) {
     e.printStackTrace();
    }
   }});

编辑:当然你也可以在 OnClick 中调用你的方法而不是直接处理它

于 2013-07-06T12:39:10.007 回答