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