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 ();
}
}
});
}
所以这只是一些放错地方的“}};”。