我正在使用DialogFragments做很多事情:从列表中选择项目,输入文本.
将值(即字符串或列表中的项)返回给调用活动/片段的最佳方法是什么?
目前我正在制作调用活动实现DismissListener,并为DialogFragment提供对活动的引用.然后,Dialog调用OnDimissactivity中的方法,activity将从DialogFragment对象中获取结果.非常混乱,因为DialogFragment失去对活动的引用,它不能用于配置更改(方向更改).
谢谢你的帮助.
是否有可能使用DialogFragment使用时Activity的替代FragmentActivity?这些show()方法需要一个FragmentManager.
我想实现一个只包含一个的Dialog,EditTextAndroid开发人员的教程说我必须在对话框片段上使用自定义布局.所以我问因为我不想改变只使用FragmentActivity1个对话框.
解决:我决定使用FragmentActivity而不是Activity这样,它不会变得更复杂.
我一直试图让我的头脑绕过这几个小时.
我有一个主要的Fragment类,然后从我在该类中的ImageView设置的onClick,我启动一个带有简单的"是"或"取消"选项的Dialog Fragment.
我如何制作它,以便当用户点击"确定"时,它会将结果代码发送回我的主片段,告诉它运行一些代码(在我的情况下,我正在设置壁纸).
这听起来简单但似乎无法弄明白.提前致谢.
Onclick在哪里我想以某种方式将结果返回到:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.image_detail_fragment,
container, false);
mImageView = (RecyclingImageView) v.findViewById(R.id.imageView);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
MyDialogFragment dialog = new MyDialogFragment();
dialog.show(getActivity().getFragmentManager(),
"MyDialogFragment");
}
public void onDialogOKPressed() {
((ImageDetailFragment) (DialogFragment.this.getParentFragment()))
.onDialogOKPressed();
dismiss();
}
});
return v;
}
Run Code Online (Sandbox Code Playgroud)
对话类:
class MyDialogFragment extends DialogFragment {
private Button ButtonOk;
private Button ButtonCancel;
public MyDialogFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, …Run Code Online (Sandbox Code Playgroud)