我的每个页面都有一个Activity
with ,并且在每个实现一个(使用)从页面加载数据,但是当请求以错误结束时,键入超时或丢失连接,我需要显示一个对话框重做对服务器的调用的选项,防止为每个错误打开多个对话框的问题通过以下代码段解决:ViewPager
PagerSlidingTabStrip
ViewPager
fragment
fragment
http request
Volley
在此处查看此解决方案:http: //www.jorgecoca.com/android-quick-tip-avoid-opening-multiple-dialogs-when-tapping-an-element/
@Override
public void show(FragmentManager manager, String tag) {
if (manager.findFragmentByTag(tag) == null) {
super.show(manager, tag);
}
}
当用户单击dialog button
重试时,对话框关闭并检查是否有互联网连接,如果我没有,对话框应该再次打开,但对话框不再显示,我相信标签确实没有被释放到FragmentManager
。
中的代码Activity
:
final Button mButton = ( Button ) this.findViewById( R.id.btn_opendialog );
final DialogFragmentHelper mDialog = new DialogFragmentHelper();
mDialog.setCallbackListener( new OnCallback() {
@Override
public void onCancel() {
}
@Override
public void onConfirm() {
// verify if network available
mDialog.show( MainActivity.this.getSupportFragmentManager(), DialogFragmentHelper.DIALOG_TAG );
}
} );
mButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick( final View v ) {
mDialog.show( MainActivity.this.getSupportFragmentManager(), DialogFragmentHelper.DIALOG_TAG );
}
} );
有人会建议解决方法吗?