我的FragmentActivity上有5个标签TabHost,第4个我有一个AsyncTask,它创建了一个ProgressDialog(这个PD在setCanceledOnTouchOutside上是假的),而第5个没有它。
我的问题是:当我点击第4个标签并突然在5日时,第5个第4个进程打开第5个进程,如果我想要取消AsyncTask或我做的任何事情(吐司),这会让我遇到麻烦,结果,等等。
我知道我可以尝试/抓住所有东西,但这不是一个好习惯。
我试过了:
onTabChanged
开头设置TabHost enabled = false,在同一onTabChanged
结尾处启用= true,但没有成功。onTabChanged
的开头设置TabHost enabled = false并在Fragment的onResume
处启用= true,因此我可以在onCreateView
上加载PD,启用= false,然后启用=之后是真的,所以onResume
。没有成功(在onResume之后出现可见性)。我该怎么办? 我正在考虑制作自己的小部件,progressdialog并使用try / catch进行操作。
提前致谢。
添加
我正在使用这个结构用于Tabs ...它使用BaseFragment,如果我按下它,它会从hashMap中删除一个片段。
https://github.com/thankimanish/TabUsingFragment/tree/master/src/com/android/hdik/main
答案 0 :(得分:0)
在Fragment的Asynctask
方法中启动setUserVisibleHint(boolean isVisibleToUser)
,这样只有当Asynctask
对用户可见时才会启动Fragment
,现在只需将其隐藏在{ {1}}片段,或一旦您将可见性分段。