방치하기

dialogbox 리스너 익명클래스 대신 내부클래스 사용 본문

카테고리 없음

dialogbox 리스너 익명클래스 대신 내부클래스 사용

Yi Junho 2010. 12. 31. 13:15
반응형
package com.android.jh;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class DialogExamActivity extends Activity {
    private EditText txtMsg;
	private Button btnGo;
	String msg	=	"whichbutton";
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        txtMsg	=	(EditText)findViewById(R.id.txtMsg);
        btnGo	=	(Button)findViewById(R.id.btnGo);
        btnGo.setOnClickListener(new btnListner());
    }
    class btnListner implements OnClickListener
    {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			AlertDialog diaBox	=	createDialogBox();
			diaBox.show();
			txtMsg.setText("여기에 대화창 버튼값이 출력됨!");
		}
    	
    }
    AlertDialog createDialogBox()
    {
    	dialogLisnter dialogController = new dialogLisnter();
    	AlertDialog myQuittingDialogBox=
    		new AlertDialog.Builder(this).setTitle("대화창 타이틀")
    		.setMessage("대화창을 나가겠습니까?")
    		.setPositiveButton("예", dialogController)
    		.setNeutralButton("취소", dialogController)
    		.setNegativeButton("아뇨", dialogController)
    		.create();
    	
		return myQuittingDialogBox;
    	
    }
    class dialogLisnter implements DialogInterface.OnClickListener
    {

		@Override
		public void onClick(DialogInterface dialog, int which) {
			if(which == DialogInterface.BUTTON_POSITIVE)
			{
				msg="whichbutton 예"+which;
				txtMsg.setText(msg);
			}
			else if(which == DialogInterface.BUTTON_NEUTRAL)
			{
				msg="whichbutton 취소"+which;
				txtMsg.setText(msg);
			}
			else
			{
				msg="whichbutton 아니오"+which;
				txtMsg.setText(msg);
			}
		}

    }
}








반응형
Comments