closuresonClick的DialogFragment

我试图做一个DialogFragment,可以被解雇的时候,在一些search后,我决定去执行这个实现:

public class ErrorDialogFragment extends RoboDialogFragment { private static final String MESSAGE_ARG = "message"; private TextView text; public ErrorDialogFragment newInstance (String message){ ErrorDialogFragment f = new ErrorDialogFragment(); Bundle args = new Bundle(); args.putString(MESSAGE_ARG, message); f.setArguments(args); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.error_dialog_fragment, container, false); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ErrorDialogFragment.this.dismiss(); } }); text = (TextView) v.findViewById(R.id.error_dialog_text_textView); text.setText(getArguments().getString(MESSAGE_ARG)); return v; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NO_TITLE, 0); } 

警报对话框可以有一个自定义的消息,并将被点击时被驳回。

你认为是一个更好的方法来实现这一目标吗?

谢谢。

Solutions Collecting From Web of "closuresonClick的DialogFragment"

你可以使用dialog.setCanceledOnTouchOutside(true); 如果您在对话框外触摸,将closures对话框。 要么

试试这个教程http://iserveandroid.blogspot.com/2010/11/how-to-dismiss-custom-dialog-based-on.html 。 希望能帮助到你..!!

 final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle(title); alertDialog.setMessage(msg); alertDialog.setButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { alertDialog.dismiss(); } }); alertDialog.setIcon(R.drawable.error_icon); alertDialog.show(); 

只要使用这个代码,只要你想显示警报,并确定onclick事件对话框将消除。

我从一个Activity调用一个DialogFragment。 点击对话框中的button后,我使用一个接口来调用活动中的一个方法。 在这个活动中我正在执行这个:

 // This is the code inside the activity that call the dialog Fragment fragment = getSupportFragmentManager().findFragmentByTag("MyDialog"); if(fragment != null) { DialogFragment dialog = (DialogFragment) fragment; dialog.dismiss(); }