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

san*_*one 6 android android-asynctask android-fragments

这看起来比它看起来更难,或者我做错了.我需要更新片段中UI元素的内容.

所以,在一个内部Activity,我开始这样的AsyncTask任务

new MyAsyncTask().execute();
Run Code Online (Sandbox Code Playgroud)

在"正常"里面,Activity这个异步类是private如此我认为我可以public在片段类中创建它然后能够从FragmentActivity父类调用它.像这样的东西:

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

没用.

有人可以帮忙吗?

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

Phi*_*arl 9

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

Fragment调用这样的方法.

Activity myActivity = getActivity();
if (myActivity instanceof MyActivity) {
     ((MyActivity) myActivity).doAsyncTaskMethod();
}
Run Code Online (Sandbox Code Playgroud)

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

MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.layout.my_fragment);
myFragment.new DoParsingAsyncTask().execute("");
Run Code Online (Sandbox Code Playgroud)

哪个也有效.