In my application I want use custom dialog into DialogFragment
. I can use AlertDialog
into DialogFragment
but I want use custom dialog instead of AlertDialog
.
I write below codes into DialogFragment
:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View rootView = LayoutInflater.from(mActivity).inflate(R.layout.fragment_dialog_comment, null);
initVar();
initView(rootView);
initFunctionality();
return new AlertDialog.Builder(mActivity)
.setView(rootView)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
authorName = edtAuthorName.getText().toString().trim();
authorEmail = edtAuthorEmail.getText().toString().trim();
authorComment = edtAuthorComment.getText().toString().trim();
AppPreference.getInstance(mActivity).setString(PrefKey.KEY_EMAIL, authorEmail);
AppPreference.getInstance(mActivity).setString(PrefKey.KEY_NAME, authorName);
if (commentId == AppConstant.THIS_IS_COMMENT) {
sendComment(authorName, authorEmail, authorComment);
} else {
sendReply(authorName, authorEmail, authorComment);
}
}
})
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (dialogInterface != null) {
dialogInterface.dismiss();
}
}
})
.create();
}
I want use below code instead of above AlertDialog
:
final Dialog dialog = new Dialog(mActivity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
dialog.setContentView(R.layout.fragment_dialog_comment);
edtAuthorName = dialog.findViewById(R.id.edt_author_name);
edtAuthorEmail = dialog.findViewById(R.id.edt_author_email);
edtAuthorComment = dialog.findViewById(R.id.edt_author_comment);
dialogComment_okBtn = dialog.findViewById(R.id.dialogComment_okBtn);
dialogComment_cancelBtn = dialog.findViewById(R.id.dialogComment_cancelBtn);
edtAuthorName.setText(AppPreference.getInstance(mActivity).getString(PrefKey.KEY_NAME));
dialogComment_cancelBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (dialog != null) {
dialog.dismiss();
}
}
});
dialogComment_okBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
authorName = edtAuthorName.getText().toString().trim();
authorEmail = edtAuthorEmail.getText().toString().trim();
authorComment = edtAuthorComment.getText().toString().trim();
AppPreference.getInstance(mActivity).setString(PrefKey.KEY_EMAIL, "noEmail@gmail.com");
AppPreference.getInstance(mActivity).setString(PrefKey.KEY_NAME, authorName);
if (commentId == AppConstant.THIS_IS_COMMENT) {
sendComment(authorName, "noEmail@gmail.com", authorComment);
} else {
sendReply(authorName, "noEmail@gmail.com", authorComment);
}
dialog.dismiss();
}
});
dialog.show();
How can I it? Please don't give me negative points and please help me