starałem się zrobić DialogFragment które mogłyby zostać odwołany, gdy podsłuchu, po jakimś poszukiwaniu Postanowiłem iść z tym realizacji:Odrzuć DialogFragment onClick
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);
}
Okno alert może mieć niestandardowy komunikat i zostanie zwolniony po dotknięciu.
Czy uważasz, że jest to lepszy sposób na osiągnięcie tego celu?
Dzięki.
Dzięki @Raghav im przy użyciu teraz setCanceledOnTouchOutside, ale dla wewnętrznego dotknięcia Im będzie kontynuować moje podejście, link odnosi się do aktywność ani DialogFragment :) – Goofyahead
Czy możesz mi powiedzieć, gdzie nazywasz metodę setCanceledOnTouchOutside? ponieważ potrzebuję obiektu dialogowego dla tego – Sandra
po prostu zapisz go tam, gdzie wykonujesz wszystkie inne operacje dla okna dialogowego. – Rookie