我有一个打开dialogfragment的片段。我使用监听模式。我的原始代码直接使用了一个活动,打开对话框工作正常。
在对话片段中我做:
User-Agent
但是因为现在我从一个活动转移到碎片,所以上面的工作没有用。
我应该将片段作为参数传递吗?
答案 0 :(得分:0)
您可以在自定义DialogFragment
中创建一个观察者模式,然后在您将创建它的活动或片段中,您必须为其提供一个Observer实现的实例:
public class CustomTwoFieldsDialog extends DialogFragment {
private TextView first_button_text_view, second_button_text_view;
public interface CustomTwoFieldsDialogListener {
public void onBtnClick(int btnPos, Dialog dialog);
}
private CustomTwoFieldsDialogListener listener;
public void setListener(CustomTwoFieldsDialogListener listener) {
this.listener = listener;
}
private void setButtonsClickingListeners() {
first_button_text_view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.onBtnClick(0, getDialog());
}
});
second_button_text_view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
listener.onBtnClick(1, getDialog());
}
});
}}
然后进入将使用自定义Fragment
的{{1}}或Activity
DialogFragment