7

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

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

new MyAsyncTask().execute();

在“正常”Activity这个异步类中private,我认为我可以public在片段类中创建它,然后能够从FragmentActivity父类调用它。像这样的东西:

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

没有用

任何人都可以帮忙吗?

PS。我的片段不是<fragment>XML 中的视图,但我通过ViewPager. 我通过显示页面没有问题ViewPager
聚苯乙烯。这个异步类开始解析远程内容并填充片段中的 UI 元素。

4

1 回答 1

10

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

Fragment调用这样的方法。

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

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

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

这也有效。

于 2012-12-19T16:28:32.080 回答