1
public class MainActivity extends AppCompatActivity {
ImageButton[] ib;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ib = new ImageButton[10];
for (int i = 0; i < ib.length; i++) {
{
String buttonID = "imageButton" + (i + 1);
int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
ib[i] = ((ImageButton) findViewById(resID));
ib[i].setOnClickListener(this);
}
}
}
public void onClick(View v) {
for (int i = 0; i < ib.length; i++) {
if (ib[i].getId() == v.getId()) {
ib[i].setImageResource(R.drawable.img_b);
}
if (ib[2].getDrawable().getConstantState() == getResources().getDrawable(R.drawable.img_b).getConstantState()) {
ib[1].setImageResource(R.drawable.img_c);
}
}
}
}
「img_a」を含む10個のImageButtonがあります。 ImageButtonsの1つをクリックすると、img_aがimg_bに変わります。ImageButtonで画像を確認および変更する方法
ib [2]またはimagebutton2をクリックすると、ib [1]がimg_cに変わります。 私はgetDrawable()。getConstantState()を使用しました。エラーはありませんが、動作していません。 誰か助けてくれますか?
はありがとうございます。 ib [2]とib [3]の両方がimg_bならば、ib [1]を変更したいのですが? '&&'だけを使用しても動作しません。 – Kew
@keewボタンごとにonClickイベントが1回呼び出されるため、ボタンの状態を確認する必要があります。 – pablobu