![](/img/trans.png)
[英]How to setText from a DialogFragment with DatePickerDialog
[英]How do I setText() in an textView from a DialogFragment
我有一个自定义DialogFragment,其中有几个选项。 仅在对话框中向用户显示“完成”按钮,以表示他们已完成选择并恢复活动。 我在对话框下面的活动上有一个textView。 我的第一个想法是使用数据库(过度使用)或sharedPreferences,但是在我的特定情况下,sharedPreferences不是一个选择。 因此,我的问题是如何在没有sharedPreferences的DialogFragment上的textView上设置text。 谢谢
这可以通过Interface
轻松完成:
在您的DialogFragment
类中:
public interface OnDoneClickListener {
void onDoneClicked() {}
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
try {
mCallback = (OnDoneClickListener) activity;
} catch (ClassCastException e) {
Log.d("Error", "activity must implement OnDoneClickListener");
}
}
现在,只需将mCallback.onDoneClicked()
放入mCallback.onDoneClicked()
onClick
事件中。
回到你的Activity
,其需要实现OnDoneClickListener
,
@Override
public void onDoneClicked() {
tv.setText("Done Clicked!!");
}
如果您使用的是AlertDialog(最简单),则只需提供一个onClickListener:
http://developer.android.com/reference/android/app/DialogFragment.html#AlertDialog
该页面上还有一个示例,说明了使用更“标准”的Fragment时,基本上在活动上调用方法的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.