ImageButton があり、背景が次のように設定されています。
final ImageButton[][] gridButton = new ImageButton[5][5];
gridButton[0][0] = (ImageButton) findViewById(R.id.imageButton1);
gridButton[0][0].setImageResource(ButtonIcon.l[0]); //ButtonIcon.l[0] is an image ID from my resources folder.
gridButton[0][0].setOnClickListener(new View.OnClickListener() {
ButtonIcon justAnObject = new ButtonIcon();
@Override
public void onClick(View v) {
int newId = justAnObject.changeIconId(((BitmapDrawable)gridButton[0][0].getDrawable()).getBitmap());
// int newId = justAnObject.changeIconId(gridButton[0][0].getDrawable());
gridButton[0][0].setImageResource(newId);
}
});
buttonIcon クラスには、比較を行うメソッドがあります。
public int changeIconId(Bitmap object){
if (object == ((BitmapDrawable) getResources().getDrawable(R.drawable.load0)).getBitmap()){
return R.drawable.load1;
}
else return R.drawable.straight0;
}
すべての ID は、リソース フォルダー内の画像を参照します。この問題へのアプローチ方法がよくわかりません。
ありがとう。