我有一个自定义的 DialogFragment,里面有几个选项。用户只需在对话框中看到一个“完成”按钮,表示他们已经完成了他们的选择并恢复活动。我在对话框下方的活动上有一个 textView。我的第一个想法是使用数据库(矫枉过正)或 sharedPreferences,但在我的具体情况下,sharedPreferences 不是一个选项。所以,我的问题是如何从没有 sharedPreferences 的 DialogFragment 在 textView 上设置文本。谢谢
问问题
1122 次
2 回答
1
这可以通过以下方式轻松完成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()
您的愿望onClick
事件。
回到你Activity
需要实现OnDoneClickListener
的,
@Override
public void onDoneClicked() {
tv.setText("Done Clicked!!");
}
于 2013-07-05T03:36:23.473 回答
0
如果您使用的是 AlertDialog(最简单),那么您只需要提供一个 onClickListener:
http://developer.android.com/reference/android/app/DialogFragment.html#AlertDialog
该页面还有一个使用更“标准”片段时的示例,基本上是在活动上调用一个方法。
于 2013-07-05T02:00:19.250 回答