android – 如何执行位于其父级的片段中的AsyncTask <>?

前端之家收集整理的这篇文章主要介绍了android – 如何执行位于其父级的片段中的AsyncTask <>?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这看起来比它看起来更难,或者我做错了.我需要更新片段中UI元素的内容.

所以,在Activity中,我像这样启动AsyncTask任务

new MyAsyncTask().execute();

在“普通”活动中,这个异步类是私有的,所以我认为我可以在片段类中公开它,然后能够从FragmentActivity父类调用它.像这样的东西:

MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.layout.my_fragment);
new myFragment.DoParsingAsyncTask().execute(""); //??? a silly guess

这没用.

有人可以帮忙吗?

PS.我的片段不是<片段> XML中的视图,但我通过ViewPager处理它们.通过ViewPager显示页面没有问题.
PPS.此异步类开始解析远程内容并填充片段中的UI元素.

解决方法

它可能无法解决问题,但在片段中创建一个方法调用它来创建和启动异步任务.它会更整洁.这是代码.

从Fragment调用这样的方法.

Activity myActivity = getActivity();
if (myActivity instanceof MyActivity) {
     ((MyActivity) myActivity).doAsyncTaskMethod();
}

或者你可以尝试我已经提出的解决方案.

MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.layout.my_fragment);
myFragment.new DoParsingAsyncTask().execute("");

哪个也有效.

原文链接:https://www.f2er.com/android/310274.html

猜你在找的Android相关文章