私は、ボタンのクリックで私のフラグメントからダイアログを呼び出すアプリケーションで作業していますが、私の問題はボタンをクリックしてダイアログが表示されますが、鈍い色で表示されることです。そして、私が再びダイアログをクリックすると、その背景が白色に変わります。だから、なぜこのように起こっているのか知りたいだけです。ダイアログを正しく表示できない
コードは、最初
ダークスクリーンショットの中に表示されたときに
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();
}
そして今、スクリーンショットのリンクをクリックして、ボタン上の断片からダイアログを起動します開いているポップアップ:
ホワイトダイアログ再びダイアログをクリックすると: