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

AlertDialog 대화상자 도와주세요

0 추천
package com.example.a.alertdialog

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.preference.DialogPreference;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.app.AlertDialog;
import android.view.View;

public class MainActivity extends Activity {

    RadioGroup rGroup1;
    RadioButton rdoDog, rdoCat, rdoRabbit,rdoHorse;
    Button btnView;
    ImageView imgPet;
    View dialogView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dialogView = (View)View.inflate(MainActivity.this,R.layout.image,null);

        rGroup1 = (RadioGroup) findViewById(R.id.Rg1);
        rdoDog = (RadioButton) findViewById(R.id.RdoDog);
        rdoCat = (RadioButton) findViewById(R.id.RdoCat);
        rdoRabbit = (RadioButton) findViewById(R.id.RdoRabbit);
        rdoHorse = (RadioButton) findViewById(R.id.RdoHorse);
        btnView = (Button) findViewById(R.id.BtnView);
        imgPet = (ImageView)dialogView.findViewById(R.id.ImgPet);

 

          btnView.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View arg0) {
                AlertDialog.Builder dlg = new AlertDialog.Builder(
                        MainActivity.this);
                switch (rGroup1.getCheckedRadioButtonId()) {
                    case R.id.RdoDog:
                        dlg.setTitle("개");
                        dlg.setView(dialogView);
                        imgPet.setImageResource(R.drawable.dog);
                        dlg.setPositiveButton("닫기", null);
                        dlg.show();
                        break;
                    case R.id.RdoCat:

                        dlg.setTitle("고양이");
                        dlg.setView(dialogView);
                        imgPet.setImageResource(R.drawable.cat);
                        dlg.setPositiveButton("닫기", null);
                        dlg.show();
                        break;
                    case R.id.RdoRabbit:

                        dlg.setTitle("토끼");
                        dlg.setView(dialogView);
                        imgPet.setImageResource(R.drawable.rabbit);
                        dlg.setPositiveButton("닫기", null);
                        dlg.show();
                        break;
                    case R.id.RdoHorse:

                        dlg.setTitle("말");
                        dlg.setView(dialogView);
                        imgPet.setImageResource(R.drawable.horse);
                        dlg.setPositiveButton("닫기", null);
                        dlg.show();
                        break;
                    default:
                        Toast.makeText(getApplicationContext(), "동물 먼저 선택하세요", Toast.LENGTH_SHORT)
                                .show();
                }

            }
        });

    }
}

라디오 버튼 체크후 버튼을 누르면 이미지가 나오는 대화상자를 만들고싶은데

이렇게 하게 되면 맨 처음에 할때만 이미지가 나오고 대화상자 닫기 누르고 다시 다른걸 누르면 어플이 그냥 꺼져요....

코딩이 어디가 잘못된건지 도와주세요
익명사용자 님이 2016년 5월 10일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...