단추를 클릭하면 내 조각에서 대화 상자를 호출하는 응용 프로그램에서 작업하고 있지만 단추를 클릭하면 대화 상자가 나타나지만 표시되는데 문제가 생깁니다. . 다시 대화 상자를 클릭하면 배경이 흰색으로 바뀝니다. 그래서, 왜 이런 일이 일어나고 있는지 알고 싶습니다.제대로 대화 상자를 표시 할 수 없습니다.
코드는 먼저
다크 스크린 샷 동안 나타날 때
sms = (ImageView) v.findViewById(R.id.sms);
sms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!admin_id.equals("0") && status.equals("A")) {
DialogSMS dialogSMS = new DialogSMS(getActivity(), getContext());
dialogSMS.show();
} else {
Toast.makeText(getActivity(), getResources().getString(R.string.disable_click), Toast.LENGTH_SHORT).show();
}
}
});
대화 코드 대화에 대한
public class DialogSMS extends Dialog {
Context context;
ProgressDialog progressDialog;
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
public static final String MY_PREF = "pref";
public static final String IS_SMS_SUBSCRIBE = "sms_status";
EditText etPostalCode;
EditText phoneNumber;
Dialog d;
public DialogSMS(Activity a, Context context) {
super(a);
this.context = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
progressDialog = new ProgressDialog(context);
sharedPreferences = context.getSharedPreferences(MY_PREF, Context.MODE_PRIVATE);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
alertDialog.setMessage(R.string.app_sms_dialog_msg);
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SessionManager session = new SessionManager(context);
if (session.isSmsSubscribed()) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
alertDialog.setMessage(R.string.app_sms_unsubscribe);
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
unSubscribeSMS();
dialog.cancel();
}
});
alertDialog.setNegativeButton(R.string.app_close_dialog_msg_no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialog.show();
} else {
d = new Dialog(getContext());
d.setContentView(R.layout.dialog_select_sms);
etPostalCode = (EditText) d.findViewById(R.id.etPostalCode);
phoneNumber = (EditText) d.findViewById(R.id.phoneNumber);
Button btnSend = (Button) d.findViewById(R.id.btnSend);
d.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String mobile = phoneNumber.getText().toString();
String postalCode = etPostalCode.getText().toString();
validateFields(mobile, postalCode);
//subscribeSMS(postalCode, mobile);
// d.cancel();
}
});
d.show();
dialog.cancel();
}
}
});
alertDialog.setNegativeButton(R.string.app_close_dialog_msg_no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialog.show();
}
이제 스크린 샷 링크를 클릭 버튼을 조각에서 대화 상자를 호출 할 팝업창 :
화이트 대화 할 때 다시 대화 상자에서 클릭 :