前提・実現したい
android studioで、3×3のボタンがあるんですが、そのボタンの1つを押すとそのボタンと上下左右のボタンの色が変える
ってやつをやりたいんですが、どうやったらいいですかね?
色は2色でcolors.xmlでxとyって名前になってます。
一応ボタンの色がxの時はyにyの時はxにするって処理なんですが
自分は
Button button=findViewById(R.id. button)
button.setBackgroundColor(y)
とかで色を変える方法しかしらなくて
特定のボタンが押された時xなのかyなのか判断する方法がわからないんですよね
誰かわかる方教えてください
発生している問題・エラーメッセージ
ifやSwitchなどで判断しようとは思っているんですが、色の判断内容がわからない
該当のソースコード
java
試したこと
自分は
Button button=findViewById(R.id. button)
button.setBackgroundColor(y)
とかで色を変える方法しかしらなくて
ifやSwitchで色を判断してやろうと思ったんですが、その色の判断の方法がわからなくて困って居ます
補足情報(FW/ツールのバージョンなど)
一応自分の作ってるやつ載せておきます。
java:br
1public class MainActivity extends AppCompatActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 8 Button button_r = 9 findViewById(R.id.button_r); 10 button_r.setOnClickListener(new MyClickListener()); 11 12 Button button1= 13 findViewById(R.id.button); 14 button1.setOnClickListener(new Click()); 15 16 Button button2= 17 findViewById(R.id.button2); 18 button2.setOnClickListener(new Click()); 19 20//3~8も同じ 21 22 23 Button button9= 24 findViewById(R.id.button9); 25 button9.setOnClickListener(new Click()); 26 }
//ここはリセットなのできにしないで
java:rb
1 class MyClickListener implements View.OnClickListener { 2 @Override 3 public void onClick(View v) { 4 Toast.makeText(MainActivity.this, "リセットしました", Toast.LENGTH_SHORT).show(); 5 6 Button button= 7 findViewById(R.id.button); 8 Button button1= 9 findViewById(R.id.button2); 10 Button button2= 11 findViewById(R.id.button3); 12 Button button3= 13 findViewById(R.id.button4); 14 Button button4= 15 findViewById(R.id.button5); 16 Button button5= 17 findViewById(R.id.button6); 18 Button button6= 19 findViewById(R.id.button7); 20 Button button7= 21 findViewById(R.id.button8); 22 Button button8= 23 findViewById(R.id.button9); 24 25 int y= getResources().getColor(R.color.y); 26 //R.color.xxx は name=”xxx”とした時 27 button.setBackgroundColor(y); 28 // view は変更対象の部品に適宜置き換える 29 button1.setBackgroundColor(y); 30 // view は変更対象の部品に適宜置き換える 31 button2.setBackgroundColor(y); 32 // view は変更対象の部品に適宜置き換える 33 button3.setBackgroundColor(y); 34 button4.setBackgroundColor(y); 35 button5.setBackgroundColor(y); 36 button6.setBackgroundColor(y); 37 button7.setBackgroundColor(y); 38 button8.setBackgroundColor(y); 39 40 } 41 }
//ここから悩んでる所です。
```java:abr
class Click implements View.OnClickListener {
@Override
public void onClick(View v) {
int y=
getResources().getColor(R.color.y);
int x=
getResources().getColor(R.color.x);
switch (v.getId()) {
case (R.id.button):
//ここをif文とかで判定したい
Button button=
findViewById(R.id.button);
button2.setBackgroundColor(x);
//if(ここがわからない)
break;
case (R.id.button2):
break;
case (R.id.button3):
Toast.makeText(MainActivity.this, "3がおされた", Toast.LENGTH_SHORT).show();
break;
//4から9も同じ感じで
}
}
}
}
回答1件
あなたの回答
tips
プレビュー