
在其中一个选项卡(片段)中,我有一个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时刷新“父”片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)