我有一个自定义的 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
事件中即可。
返回到需要实现OnDoneClickListener
的Activity
,
@Override
public void onDoneClicked() {
tv.setText("Done Clicked!!");
}
关于java - 如何在 DialogFragment 的 textView 中 setText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480046/