我正在使用一个DialogFragment,我从这样一个显示Activity:
DialogFragmentImage dialog = DialogFragmentImage.newInstance(createBitmap());
dialog.onDismiss(dialog);.onDismiss(this);
dialog.show(getFragmentManager(), "DialogFragmentImage");
Run Code Online (Sandbox Code Playgroud)
我想检查何时DialogFragment被解雇(例如当按下后退按钮时),但在我的Activity.我怎样才能做到这一点?我怎么能"告诉"我activity的DialogFragment已被解雇?
我有一个片段打开一个Dialogfragment获取用户输入(一个字符串,和一个整数).如何将这两件事发回片段?
这是我的DialogFragment:
public class DatePickerFragment extends DialogFragment {
String Month;
int Year;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
getDialog().setTitle(getString(R.string.Date_Picker));
View v = inflater.inflate(R.layout.date_picker_dialog, container, false);
Spinner months = (Spinner) v.findViewById(R.id.months_spinner);
ArrayAdapter<CharSequence> monthadapter = ArrayAdapter.createFromResource(getActivity(),
R.array.Months, R.layout.picker_row);
months.setAdapter(monthadapter);
months.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int monthplace, long id) {
Month = Integer.toString(monthplace);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
Spinner years = (Spinner) v.findViewById(R.id.years_spinner);
ArrayAdapter<CharSequence> yearadapter = ArrayAdapter.createFromResource(getActivity(),
R.array.Years, R.layout.picker_row);
years.setAdapter(yearadapter); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个小程序,我需要添加一个自定义对话框,在关闭时将一些信息传递给调用活动.我扩展了对话框类,当我尝试在关闭时捕获自定义对话框时,使用onDismiss侦听器,它永远不会到达它,因为我使用了自定义对话框.
这是我活动的一部分 -
.
.
.
attributes customizeDialog = new attributes(con,position,pick.getLastVisiblePosition());
customizeDialog.show();
Run Code Online (Sandbox Code Playgroud)
(属性是扩展对话框类的类的名称).
这是我在对话框完成时设置的事件监听器 -
customizeDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
Log.v("LOG_CAT",attributes.selectedIndexes.get(0) + " " + attributes.selectedIndexes.get(1) + " " + attributes.selectedIndexes.get(2) + " " + attributes.selectedIndexes.get(3) + " " + attributes.selectedIndexes.get(5) + " ");
}
});
Run Code Online (Sandbox Code Playgroud)
我知道我做错了,我只是不知道如何解决它.
我真的很感激这个问题的任何帮助.
谢谢!
我需要处理DialogFragment的结束(在调用.dismiss之后) - 例如,我会在关闭后"包含"片段的活动中显示一个toast.
我该如何处理这个事件?