마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

라디오버튼 변경에 따른 이미지바꾸기

0 추천
package com.cookandroid.exercise2;

import android.app.Activity;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class Exercise2Activity extends Activity {

 EditText editText1;
 Button btnShow, btnOpen;
 RadioGroup rGroup1;
 RadioButton gingerBread, icecreamSandwich;
 ImageView imgView1;


 
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  setTitle("좀 그럴듯한 응용프로그램");

  editText1 = (EditText) findViewById(R.id.editText1);
  rGroup1 = (RadioGroup) findViewById(R.id.rGroup1);
  btnShow = (Button) findViewById(R.id.btnShow);
  btnOpen = (Button) findViewById(R.id.btnOpen);
  gingerBread = (RadioButton) findViewById(R.id.rbGingerbread);
  icecreamSandwich = (RadioButton) findViewById(R.id.rbIcecreamSandwich);
  imgView1 = (ImageView) findViewById(R.id.imgView1);

  btnShow.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    Toast.makeText(getApplicationContext(), editText1.getText(), 0)
      .show();
   }
  });

  btnOpen.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    Intent mIntent = new Intent(Intent.ACTION_VIEW, Uri
      .parse(editText1.getText().toString()));
    startActivity(mIntent);
   }
  });

  gingerBread.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    imgView1.setImageResource(R.drawable.gingerbread);
   }
  });

  icecreamSandwich.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    imgView1.setImageResource(R.drawable.api40);
   }
  });
 }

}

제가 만든 위젯 부분인데요

마지막에 라디오버튼 두개가 있는데 선택하면 그림이 바뀌도록 만들려고 합니다.

만들긴 만들었는데 위처럼 번거롭게

 gingerBread.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    imgView1.setImageResource(R.drawable.gingerbread);
   }
  });

  icecreamSandwich.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    imgView1.setImageResource(R.drawable.api40);
   }
  });

2개 만드는것보다  case문을 쓰면 괜찮지 않을까 하는데 case문을 어떻게 삽입해야 될지 어렵네요

가르쳐 주시면 감사하겠습니다. ㅠㅠㅠ

승123 (120 포인트) 님이 2013년 3월 1일 질문
interface    RadioGroup.OnCheckedChangeListener   
Interface definition for a callback to be invoked when the checked radio button changed in this group.

라디오그룹으로 해두셨으면 저걸 쓰세요

1개의 답변

0 추천
RadioButton.setOnCheckChangedListener

참고해보세요
수상한i (8,050 포인트) 님이 2013년 3월 1일 답변
...