Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – 解除DialogFragment时刷新“父”片段大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Tabhost和Fragments构建一个带有标签布局的 Android应用程序.

在其中一个选项卡(片段)中,我有一个textview,显示String变量的值.这个选项卡还有一个调用DialogFragment的按钮,我可以通过EditText框编辑所述字符串的值.

这一切都按预期工作,除了一个小故障:一旦DialogFragment被解除并且选项卡再次获得焦点,textview文本不会自动刷新.要刷新它我需要更改选项卡并返回.

是否有可以添加的指令,以便在DialogFragment被解除时,其父活动被重新加载/刷新?

提前致谢.

编辑:仍在寻找解决方案,无法弄清楚如何使用DialogFragment.isdetached

解决方法

要设置关键字,可以通过Handler机制完成.

我遇到了类似的情况,显示一个Fragment中的DialogFragment,其中DialogFragment应该向Fragment报告它的’dismiss.

你的情况下,你似乎使用(片段)活动而不是片段,但我认为这没有区别.

脚步

>在Activity中创建一个扩展Handler的私有类.覆盖onHandlemessage(),并在那里刷新TextView.
>将YourDialogFragmentDismissHandler的实例传递给YourDialogFragment,例如通过构造函数
>覆盖YourDialogFragment中的onDismiss(),并以最简单的方式通过YourDialogFragmentDismissHandler实例发送一条消息.

public class YourActivity extends Activity {
    ...
    public void someMethod() {
        ...
        YourDialoagFragment yourDialoagFragment = 
            new YourDialoagFragment(new YourDialogFragmentDismissHandler());
        yourDialoagFragment.show();
        ...
    }

    private class YourDialogFragmentDismissHandler extends Handler {
        @Override
        public void handlemessage(message msg) {
            super.handlemessage(msg);

            // refresh your textview's here
        }   
    }
    ...
}


public class YourDialoagFragment extends DialoagFragment {
    ...
    Handler handler;

    public YourDialoagFragment(Handler handler) {
        this.handler = handler
    }
    ...
    @Override
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);

        handler.sendEmptymessage(0);
    }
    ...
}

我希望这有帮助!

大佬总结

以上是大佬教程为你收集整理的Android – 解除DialogFragment时刷新“父”片段全部内容,希望文章能够帮你解决Android – 解除DialogFragment时刷新“父”片段所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。