AlertDialog을 클릭하여 처음에 실행된 이후 다시 클릭을 하면 앱 에러가 뜹니다.
무엇이 문제인지 정확히 모르겠습니다.
버튼을 클릭하면 AlertDialog 뜹니다. 그리고 EditText의 값을 불러와서 넣고 수정하여 저장 및 취소를 합니다.
inputalarm1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Register.this);
builder.setTitle("Input Alarm1 Drugs");
alarm1.setText(alarm1drug);
builder.setView(alarm1);
builder.setPositiveButton("SAVE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(Register.this, "Alarm1 Save : " +alarm1drug, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setCancelable(false);
builder.show();
}
});
AlertDialog를 누르고 저장이나 취소를 누르고 난 이후
다시 Dialog 버튼을 누르면 아래와 같은 오류가 발생합니다.
11-10 14:40:18.609: E/AndroidRuntime(1880): Process: healthall.company.smartpillbox_exhibition, PID: 1880
11-10 14:40:18.609: E/AndroidRuntime(1880): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.view.ViewGroup.addViewInner(ViewGroup.java:4654)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.view.ViewGroup.addView(ViewGroup.java:4490)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.view.ViewGroup.addView(ViewGroup.java:4462)
11-10 14:40:18.609: E/AndroidRuntime(1880): at com.android.internal.app.AlertController.setupCustomContent(AlertController.java:612)
11-10 14:40:18.609: E/AndroidRuntime(1880): at com.android.internal.app.AlertController.setupView(AlertController.java:521)
11-10 14:40:18.609: E/AndroidRuntime(1880): at com.android.internal.app.AlertController.installContent(AlertController.java:252)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.app.AlertDialog.onCreate(AlertDialog.java:423)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.app.Dialog.dispatchOnCreate(Dialog.java:578)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.app.Dialog.show(Dialog.java:314)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.app.AlertDialog$Builder.show(AlertDialog.java:1113)
11-10 14:40:18.609: E/AndroidRuntime(1880): at healthall.company.smartpillbox_exhibition.Register$3.onClick(Register.java:171)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.view.View.performClick(View.java:5702)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.view.View$PerformClick.run(View.java:22541)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.os.Handler.handleCallback(Handler.java:739)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.os.Handler.dispatchMessage(Handler.java:95)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.os.Looper.loop(Looper.java:158)
11-10 14:40:18.609: E/AndroidRuntime(1880): at android.app.ActivityThread.main(ActivityThread.java:7237)
11-10 14:40:18.609: E/AndroidRuntime(1880): at java.lang.reflect.Method.invoke(Native Method)
11-10 14:40:18.609: E/AndroidRuntime(1880): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
11-10 14:40:18.609: E/AndroidRuntime(1880): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)