0

我有一个自定义的 DialogFragment,里面有几个选项。用户只需在对话框中看到一个“完成”按钮,表示他们已经完成了他们的选择并恢复活动。我在对话框下方的活动上有一个 textView。我的第一个想法是使用数据库(矫枉过正)或 sharedPreferences,但在我的具体情况下,sharedPreferences 不是一个选项。所以,我的问题是如何从没有 sharedPreferences 的 DialogFragment 在 textView 上设置文本。谢谢

4

2 回答 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 回答