使用TabHost进行FragmentActivity。你会怎么做?

时间:2014-03-17 17:53:13

标签: android android-fragments android-asynctask

我的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

1 个答案:

答案 0 :(得分:0)

在Fragment的Asynctask方法中启动setUserVisibleHint(boolean isVisibleToUser),这样只有当Asynctask对用户可见时才会启动Fragment,现在只需将其隐藏在{ {1}}片段,或一旦您将可见性分段。