に新しいです私はMyApplicationを
で2回のクリック私はonclickのからもらったものの中から2 imageviewsの位置を保存しています。 CustomAdapterクラスでも
public class MyApplication extends Application {
private int ClickedImageView1=-1;
private int ClickedImageView2=-1;
private static MyApplication instance = new MyApplication();
// Getter-Setters
public static MyApplication getInstance() {
return instance;
}
public static void setInstance(MyApplication instance) {
MyApplication.instance = instance;
}
public void setClickedImageView1(int ClickedImageView1) {
this.ClickedImageView1 = ClickedImageView1;
}
public int getClickedImageView1() {
return ClickedImageView1;
}
public void setClickedImageView2(int ClickedImageView2) {
this.ClickedImageView2 = ClickedImageView2;
}
public int getClickedImageView2() {
return ClickedImageView2;
}
}
、OnClickListenerにそれが働いているいくつかのコードに
public void onClick(View v) {
if (MyApplication.getInstance().getClickedImageView1()== -1) {
MyApplication.getInstance().setClickedImageView1(position);
//saving the first click position if it is first click
}
else {
MyApplication.getInstance().setClickedImageView2(position);
//saving the second click position
ImagesId[MyApplication.getInstance().getClickedImageView2()]=ImagesId[MyApplication.getInstance().getClickedImageView1()];
//moving image to secondclick position
ImagesId[MyApplication.getInstance().getClickedImageView1()]=0; //clear the imageview1
gridView.setAdapter(new CustomAdapter(MainActivity.this,ImagesId)); //reloads the adapter
// gridView.setBackgroundResource(R.drawable.chessboard);
MyApplication.getInstance().setClickedImageView1(-1);
MyApplication.getInstance().setClickedImageView2(-1);
//resetting the varibles in MyApplication object
}
を追加しました!