我有这样实现的对话框片段
public class SessionExpiredFragment extends DialogFragment {
public interface SessionExpiredFragmentListener {
public void onCancelLoginProcessPressed(DialogFragment dialog);
// validValues = true if fields are not empty and email is a valid
// email,
// else validValues = false;
public void onOKLoginProcessPressed(DialogFragment dialog,
boolean validValues);
}
SessionExpiredFragmentListener mListener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (SessionExpiredFragmentListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement SessionExpiredFragmentListener");
}
}
// UI references
private EditText mEmailView;
private EditText mPasswordView;
private View mLoginFormView;
private View mLoginStatusView;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.login_fragment_layout, null);
/*
* Get edit texts references
*/
mEmailView = (EditText) view.findViewById(R.id.email);
mPasswordView = (EditText) view.findViewById(R.id.password);
mLoginFormView = view.findViewById(R.id.login_form);
mLoginStatusView = view.findViewById(R.id.login_status);
/*
* Set builder values
*/
builder.setMessage(R.string.session_expired_title)
.setView(view)
.setPositiveButton(R.string.action_ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
boolean validValues = true;
String email = mEmailView.getText().toString();
String password = mPasswordView.getText()
.toString();
if (TextUtils.isEmpty(email)
|| TextUtils.isEmpty(password))
validValues = false;
if (!isValidEmail(email))
validValues = false;
mListener.onOKLoginProcessPressed(
SessionExpiredFragment.this,
validValues);
}
})
.setNegativeButton(R.string.action_cancel,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
mListener
.onCancelLoginProcessPressed(SessionExpiredFragment.this);
}
});
return builder.create();
}
它有正面和负面按钮。我需要做的是在按下正按钮时隐藏它们。我使用了这个监听器,所以我可以在我的活动中收听,但这对我也没有帮助。如何(以及在何处添加该代码)隐藏按钮?谢谢您的帮助。