카테고리 없음
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); } } } }
반응형