java - 如何在 DialogFragment 的 textView 中 setText()

标签 java android android-fragments android-dialog android-dialogfragment

我有一个自定义的 DialogFragment,里面有几个选项。用户只需在对话框中看到一个“完成”按钮即可表明他们已完成选择并恢复 Activity 。我在对话框下方的 Activity 上有一个 TextView 。我的第一个想法是使用数据库(过度)或共享首选项,但在我的具体情况下,共享首选项不是一个选项。所以,我的问题是如何在没有共享首选项的 DialogFragment 的 textView 上设置文本。谢谢

最佳答案

这可以通过接口(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 事件中即可。

返回到需要实现OnDoneClickListenerActivity

@Override
public void onDoneClicked() {
    tv.setText("Done Clicked!!");
}

关于java - 如何在 DialogFragment 的 textView 中 setText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480046/

相关文章:

java - 使用 TreeMap 时出现 ClassCastException

java正则表达式模式字符串格式

java - 每次更新数组时如何向监听器发出消息?

java - 更改 Fragment 内的 TextView 给我 NullPointerException

java - 将 Activity 复制到 fragment

java - IndexOutOfBoundsException 故障排除提示

java - 依赖前一个和下一个元素的流处理

java - Android Studio 0.5.7 不会在操作栏中显示按钮

java - 类型不匹配 : cannot convert from android. support.v4.app.Fragment 到 android.app.Fragment

android - 由于列不存在而强制关闭游标