【发布时间】:2015-05-14 16:39:21
【问题描述】:
我有一个 Fragment 和内部 AsyncTask 来加载文本:
public class TextReaderFragment extends Fragment {
LoadTextTask task = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setRetainInstance(true);
task=new LoadTextTask();
task.execute();
...
}
public void renderText() {
...
}
class LoadTextTask extends AsyncTask<Integer, Void, Boolean> {
@Override
protected void onPreExecute() {
// how to access Fragment or Activity here?
ProgressBar loader = (ProgressBar) findViewById(R.id.textLoadingProgressBar);
loader.setVisibility(TextView.VISIBLE);
}
@Override
protected void onPostExecute(Boolean loaded) {
// how to trigger renderText method defined on TextReaderFragment?
loader.setVisibility(TextView.GONE);
}
我不明白我该怎么做:
- 从
onPreExecute()方法访问Fragment或Activity以获取在Fragment或Activity中定义的UI 小部件 - 从
onPostExecute()触发TextReaderFragment中定义的renderText()方法?
【问题讨论】:
标签: java android inner-classes