Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果要设置墙纸,为什么我必须重新查看图像_Android_Wallpaper - Fatal编程技术网

Android 如果要设置墙纸,为什么我必须重新查看图像

Android 如果要设置墙纸,为什么我必须重新查看图像,android,wallpaper,Android,Wallpaper,我这里有个严重的问题。我正在开发一个墙纸应用程序,其中我有可绘制的图像。使用两个按钮(下一步和后退)更改图像。第三个按钮用于设置壁纸。当我用“下一步”按钮更改图像时,图像会更改,但第三个按钮无法设置该图像的墙纸。这将一直持续到最后一个图像和第三个按钮不起作用。如果我使用后退按钮重新访问图像,则第三个按钮开始工作。然后它正常工作,我可以设置墙纸的图像,我想要的。请帮我解决这个问题 public class Main extends Activity { private ImageVie

我这里有个严重的问题。我正在开发一个墙纸应用程序,其中我有可绘制的图像。使用两个按钮(下一步和后退)更改图像。第三个按钮用于设置壁纸。当我用“下一步”按钮更改图像时,图像会更改,但第三个按钮无法设置该图像的墙纸。这将一直持续到最后一个图像和第三个按钮不起作用。如果我使用后退按钮重新访问图像,则第三个按钮开始工作。然后它正常工作,我可以设置墙纸的图像,我想要的。请帮我解决这个问题

 public class Main extends Activity { 
    private ImageView hImageViewPic; 
    private Button iButton, gButton; 
  private int currentImage = 0;
   int[] images = { R.drawable.r1, R.drawable.r2, R.drawable.r3, R.drawable.r4, R.drawable.r5, R.drawable.r6, R.drawable.r7, R.drawable.r8, R.drawable.r9, R.drawable.r10 }; 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
   setContentView(R.layout.main);
   hImageViewPic = (ImageView)findViewById(R.id.idImageViewPic); 
   iButton = (Button) findViewById(R.id.bnext);
   gButton = (Button) findViewById(R.id.bprev);
   //Just set one Click listener for the image
  iButton.setOnClickListener(iButtonChangeImageListener); 
  gButton.setOnClickListener(gButtonChangeImageListener); 
  }
   View.OnClickListener iButtonChangeImageListener = new OnClickListener() { 
     public void onClick(View v) { 
   //Increase Counter to move to next Image
     currentImage++;
     currentImage = currentImage % images.length; 
    hImageViewPic.setImageResource(images[currentImage]); 
   }
    };
    View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
      public void onClick(View v) { 
    //Increase Counter to move to next Image
     currentImage--; 
     currentImage = currentImage % images.length; 
     hImageViewPic.setImageResource(images[currentImage]); 

     // Here using 3rd button

    Button bSetWallpaper=(Button) findViewById (R.id.bSet);
     imageView imagePreview=(imageView) findViewById(R.id.idImageViewPic); 
     imagePreview.setOnClickListener (images [currentImage]); 
     bSetWallper.setOnClickListener (new Button.onClickListener (){ 
  @Override public void onClick (View arg0){ 
      WallpaperManager myWallpaperManager = WallpaperManager.getInstance (getApplicationContext ()); 
      try { 
          myWallpaperManager.setResource (images [currentImage]);
         } catch (IOException e) {
       e.printStackTrace (); 
     }
     }
   }); 
 } 
 }; }   

您已经在中实现了3:rd按钮

View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
      public void onClick(View v) { 
因此,如果你不点击该按钮,它将不会创建功能

编辑

替换此(您的代码):

View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
  public void onClick(View v) { 
//Increase Counter to move to next Image
 currentImage--; 
 currentImage = currentImage % images.length; 
 hImageViewPic.setImageResource(images[currentImage]); 

 // Here using 3rd button

Button bSetWallpaper=(Button) findViewById (R.id.bSet);
 imageView imagePreview=(imageView) findViewById(R.id.idImageViewPic); 
 imagePreview.setOnClickListener (images [currentImage]); 
 bSetWallper.setOnClickListener (new Button.onClickListener (){ 
@Override public void onClick (View arg0){ 
  WallpaperManager myWallpaperManager = WallpaperManager.getInstance   (getApplicationContext ()); 
  try { 
      myWallpaperManager.setResource (images [currentImage]);
     } catch (IOException e) {
   e.printStackTrace (); 
 }
 }
}); 
} 
}; }
View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
  public void onClick(View v) { 
//Increase Counter to move to next Image
 currentImage--; 
 currentImage = currentImage % images.length; 
 hImageViewPic.setImageResource(images[currentImage]);     
} 
};



 // Here using 3rd button

Button bSetWallpaper=(Button) findViewById (R.id.bSet);
 imageView imagePreview=(imageView) findViewById(R.id.idImageViewPic); 
 imagePreview.setOnClickListener (images [currentImage]); 
 bSetWallper.setOnClickListener (new Button.onClickListener (){ 
@Override public void onClick (View arg0){ 
  WallpaperManager myWallpaperManager = WallpaperManager.getInstance   (getApplicationContext ()); 
  try { 
      myWallpaperManager.setResource (images [currentImage]);
     } catch (IOException e) {
   e.printStackTrace (); 
 }
 }
});
 }
使用此代码:

View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
  public void onClick(View v) { 
//Increase Counter to move to next Image
 currentImage--; 
 currentImage = currentImage % images.length; 
 hImageViewPic.setImageResource(images[currentImage]); 

 // Here using 3rd button

Button bSetWallpaper=(Button) findViewById (R.id.bSet);
 imageView imagePreview=(imageView) findViewById(R.id.idImageViewPic); 
 imagePreview.setOnClickListener (images [currentImage]); 
 bSetWallper.setOnClickListener (new Button.onClickListener (){ 
@Override public void onClick (View arg0){ 
  WallpaperManager myWallpaperManager = WallpaperManager.getInstance   (getApplicationContext ()); 
  try { 
      myWallpaperManager.setResource (images [currentImage]);
     } catch (IOException e) {
   e.printStackTrace (); 
 }
 }
}); 
} 
}; }
View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
  public void onClick(View v) { 
//Increase Counter to move to next Image
 currentImage--; 
 currentImage = currentImage % images.length; 
 hImageViewPic.setImageResource(images[currentImage]);     
} 
};



 // Here using 3rd button

Button bSetWallpaper=(Button) findViewById (R.id.bSet);
 imageView imagePreview=(imageView) findViewById(R.id.idImageViewPic); 
 imagePreview.setOnClickListener (images [currentImage]); 
 bSetWallper.setOnClickListener (new Button.onClickListener (){ 
@Override public void onClick (View arg0){ 
  WallpaperManager myWallpaperManager = WallpaperManager.getInstance   (getApplicationContext ()); 
  try { 
      myWallpaperManager.setResource (images [currentImage]);
     } catch (IOException e) {
   e.printStackTrace (); 
 }
 }
});
 }
所以这只是一些放错地方的“}};”。