문제점
다이얼로그에서 버튼을 클릭하면 닫히는 것을 막으려고 한다.참고사이트
해결방안
기존 리스너는 버튼만 만들어주고 AlertDialog 객체를 통해 오버라이딩해서 사용한다. 
그리고 아래 조건문을 통해 dimiss()를 제어한다.
코드
protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tvName = (TextView) findViewById(R.id.tvName);
		btnClick = (Button) findViewById(R.id.btnClick);
		btnClick.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				dialogView = (View) View.inflate(asdasd.this, R.layout.dialog,
						null);
				AlertDialog.Builder builder = new AlertDialog.Builder(
						asdasd.this);
				builder.setMessage("Test input data");
				builder.setView(dialogView);
				builder.setPositiveButton("ok",
						new DialogInterface.OnClickListener() {
							@Override
							public void onClick(DialogInterface dialog,
									int which) {
							}
						});
				builder.setNegativeButton("clear",
						new DialogInterface.OnClickListener() {
							@Override
							public void onClick(DialogInterface dialog,
									int which) {
							}
						});
				final AlertDialog dialog = builder.create();
				dialog.show();
				dlg_edt_name = (EditText) dialogView
						.findViewById(R.id.dlg_edt_name);
				dialog.getButton(AlertDialog.BUTTON_POSITIVE)
						.setOnClickListener(new View.OnClickListener() {
							@Override
							public void onClick(View v) {
								Boolean wantToCloseDialog = true;
								tvName.setText(dlg_edt_name.getText());
								if (wantToCloseDialog)
									dialog.dismiss();
							}
						});
				dialog.getButton(AlertDialog.BUTTON_NEGATIVE)
						.setOnClickListener(new View.OnClickListener() {
							@Override
							public void onClick(View v) {
								Boolean wantToCloseDialog = false;
								dlg_edt_name.setText("");
								if (wantToCloseDialog)
									dialog.dismiss();
							}
						});
			}
		});
	}
'대학 생활 > Android' 카테고리의 다른 글
| [Android] Google Maps Android API v2 (구글 맵) 사용하기 (0) | 2014.06.05 | 
|---|---|
| [Android] 뒤로(백버튼) 두 번 종료하기 (0) | 2014.06.05 | 
| [Android] 아이콘 사이즈 (launcher icon size) (0) | 2014.05.30 | 
| [Android] 이미 버전 코드가 1인 APK가 있으므로 다른 버전 코드를 사용해야 합니다. (0) | 2014.05.30 | 
dialogExam.zip