如果片段显示在屏幕上,如何在onCreateView中调用方法?

时间:2016-04-18 18:38:16

标签: android android-viewpager

我正在使用viewPager创建带有标签的布局,并在每个标签中使用片段。其中之一是获取所有用户联系人并将其放在ListView上。但是我只想在屏幕上显示片段时才调用de AssyncTask。

有没有办法做到这一点? TY

3 个答案:

答案 0 :(得分:2)

在onStart中启动AsyncTask,这是在片段对用户可见时调用的方法。即使片段不可见,也会调用onCreateView。 另见:http://developer.android.com/reference/android/app/Fragment.html#onStart()

但我建议使用加载程序而不是AsyncTask(例如AsyncTaskLoader http://developer.android.com/reference/android/content/AsyncTaskLoader.html)。

答案 1 :(得分:1)

你可以使用

myList = [“aa,bb,cc,dd”, “ee,ff,gg,hh”]

for item in myList:
    print (“x: %s” % item)

甚至在onCreateView之前调用它。

答案 2 :(得分:0)

您可以查看.isVisible()这样的内容是否可见

MyFragmentClass fragment = (MyFragmentClass) getSupportFragmentManager().findFragmentByTag("fragmentTAG");

if (fragment != null && fragment.isVisible()) {
     // call AsyncTask
}