繁体   English   中英

如何从DialogFragment中的textView中设置Text()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM