public class OrderFormActivity extends AppCompatActivity {
//ICE HOT 버튼
Button btnIce1;
Button btnHot1;
//수량 버튼
Button btnPlus1;
Button btnMinus1;
int count1 = 0;
TextView countText1 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.orderform);
setup();
final int temp[] = {0,0,0,0};
btnIce1 = (Button) findViewById(R.id.btnIce1);
btnHot1 = (Button) findViewById(R.id.btnHot1);
//ice, hot 버튼 클릭 이벤트
// ice1,hot1
btnHot1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (temp[0] == 0) {
btnIce1.setBackgroundColor(Color.rgb(255, 255, 255));
btnIce1.setTextColor(Color.rgb(21, 67, 96));
btnHot1.setBackgroundColor(Color.rgb(21, 67, 96));
btnHot1.setTextColor(Color.rgb(255, 255, 255));
btnIce1.setBackgroundResource(R.drawable.btn_bg_ex);
temp[0] = 1;
}
}
});
btnIce1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (temp[0] == 1) {
btnHot1.setBackgroundColor(Color.rgb(255, 255, 255));
btnHot1.setTextColor(Color.rgb(21, 67, 96));
btnHot1.setBackgroundResource(R.drawable.btn_bg_ex);
btnIce1.setBackgroundColor(Color.rgb(21, 67, 96));
btnIce1.setTextColor(Color.rgb(255, 255, 255));
temp[0] = 0;
}
}
});
// + , - 버튼 클릭 이벤트. 클릭시 수량 1씩 증가
private void setup() {
btnPlus1 = (Button) findViewById(R.id.btnPlus1);
btnPlus1.setOnClickListener(listener);
btnMinus1 = (Button) findViewById(R.id.btnMinus1);
btnMinus1.setOnClickListener(listener);
countText1 = (TextView)findViewById(R.id.count1);
View.OnClickListener listener = new View.OnClickListener()
{
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnPlus1 :
count1++;
if(count1 >= 10)
count1 = 10;
countText1.setText(""+count1);
break;
case R.id.btnMinus1 :
count1--;
if(count1<=0)
count1 = 0;
countText1.setText(""+count1);
break;
}
}
};
카페 주문 앱 입니다.
구성은 메뉴 이름 ice 버튼 , hot 버튼 선택, 수량 버튼 +, - 이렇게 메뉴 하나 당 버튼이 4개가 있습니다.
메뉴는 총 4개 입니다. (배열로 처리해야할 버튼은 ice 버튼 4개 , hot버튼 4개, 플러스버튼 4개, 마이너스 버튼4개)
각 버튼 클릭 이벤트를 배열로 바꿔서 코드를 줄이고 싶은데 어떻게 해야될까요??