중복 선택 X
Green button 클릭 (초기) |
Blue button 클릭 |
Red button 클릭 |
1. Green button에 체크 이미지 붙이기 2. prev_btn = Green |
1. Blue button에 체크 이미지 붙이기 2. prev_btn 삭제 3. prev_btn = Blue |
1. Red button에 체크 이미지 붙이기 2. prev_btn 삭제 3. prev_btn = Red |
public class NewCrewFragment extends Fragment { public ImageButton common_btn; public int prev_btn=0; public NewCrewFragment() { // empty } class ColorCheckListener implements View.OnClickListener{ @Override public void onClick(View v) { if(prev_btn == 0) { //처음 선택한다면 prev_btn=v.getId(); //현재 선택된 ID 저장 common_btn = (ImageButton) v.findViewById(prev_btn); //객체 생성 common_btn.setImageResource(R.drawable.check_color_round); //체크 이미지 붙이기 } else { //처음 선택하는 것이 아니면 switch (prev_btn){ //이전에 선택한 것을 지운다. (같은 이미지 덮어씌우기) case R.id.color_round_y: common_btn.setImageResource(R.drawable.color_round_y); break; case R.id.color_round_b: common_btn.setImageResource(R.drawable.color_round_b); break; case R.id.color_round_g: common_btn.setImageResource(R.drawable.color_round_g); break; case R.id.color_round_v: common_btn.setImageResource(R.drawable.color_round_v); break; case R.id.color_round_r: common_btn.setImageResource(R.drawable.color_round_r); break; } prev_btn=v.getId(); common_btn = (ImageButton) v.findViewById(prev_btn); common_btn.setImageResource(R.drawable.check_color_round); } } } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_new_crew, container, false); /* If U select 'Color' button... */ ColorCheckListener cc_lis = new ColorCheckListener(); common_btn = (ImageButton) v.findViewById(R.id.color_round_y); //NullPointerExeption을 예방하기위한 default. common_btn.setOnClickListener(cc_lis); ImageButton y_btn = (ImageButton) v.findViewById(R.id.color_round_y); ImageButton b_btn = (ImageButton) v.findViewById(R.id.color_round_b); ImageButton g_btn = (ImageButton) v.findViewById(R.id.color_round_g); ImageButton v_btn = (ImageButton) v.findViewById(R.id.color_round_v); ImageButton r_btn = (ImageButton) v.findViewById(R.id.color_round_r); y_btn.setOnClickListener(cc_lis); b_btn.setOnClickListener(cc_lis); g_btn.setOnClickListener(cc_lis); v_btn.setOnClickListener(cc_lis); r_btn.setOnClickListener(cc_lis); return v; } }
'Android' 카테고리의 다른 글
CH02 챌린지 all clear (0) | 2015.06.19 |
---|---|
모델-뷰-컨트롤러, MVC (0) | 2015.06.18 |
개발환경에 융통성 심어주기, 멤버변수의 'm'을 인식하라 (0) | 2015.06.18 |
[UI] 버튼을 "동적으로" 생성하고 이벤트리스너 달기 (0) | 2015.06.09 |
image 리소스 불러올 때 (0) | 2015.06.08 |