안녕하세요.
간단한 다이얼로그를 출력하는데 있어서 아래의 사진과 같은 에러가 뜹니다.
그런데 이유를 잘 모르겠습니다.. 사진이 잘 안보일 가능성이 있어서, 아래의 에러를 사진아래의
글로도 써보겠습니다. btn.setOnClickListener(this); 부분에 에러표시와
온클릭 안쪽의 Custom_Dialog_Thank_You Dialogg = new Custom_Dialog_Thank_You(Payment.this); 부분에
서도 에러가 떠서 이 두 부분을 가리키고 있습니다ㅡ ,. ㅡ ..

E/AndroidRuntime: FATAL EXCEPTION: main
Process: ex.real_project, PID: 30867
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at ex.real_project.Custom_Dialog_Thank_You.<init>(Custom_Dialog_Thank_You.java:23)
at ex.real_project.Payment$9.onClick(Payment.java:422)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:972)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
<자바부분>
Payment_Result_Button = (Button) findViewById(R.id.Pay);
Payment_Result_Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Total_Flag && Phone_Layout && Payment_Button5_Flag && Payment_Button6_Flag && Payment_Button7_Flag) {
Toast.makeText(getApplicationContext(), "결제 완료", Toast.LENGTH_SHORT).show();
Custom_Dialog_Thank_You Dialogg = new Custom_Dialog_Thank_You(Payment.this);
Dialogg.show();
}
else{
Toast.makeText(getApplicationContext(), "결제수단 중 한개를 선택해주세요.", Toast.LENGTH_SHORT).show();
}
}
});
<다이얼로그 부분 에러>
import android.app.Dialog;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
public class Custom_Dialog_Thank_You extends Dialog implements View.OnClickListener {
Button btn;
public Custom_Dialog_Thank_You(Context context) {
super(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_custom__dialog);
btn = (Button) findViewById(R.id.Pay);
btn.setOnClickListener(this);
}
public void onClick(View view) {
if (view.getId() == R.id.End_Button) {
if (isShowing()) {
dismiss();
}
}
}
}