我有一個內部AsyncTask,我從包含此AsyncTask的片段外部的片段調用。我已閱讀並看到一些使用界面的示例。我無法弄清楚如何在我的項目中實現它。從外部調用內部AsyncTask片段
這是我內心的AsyncTask:
public class LoadQueueTask extends AsyncTask<Void, Void, Queue>
{
@Override
protected Queue doInBackground(Void... arg0) {
Model model = Model.getInstance();
return model.getQueue();
}
@Override
protected void onPostExecute(Queue result) {
super.onPostExecute(result);
queue = result;
if(result == null) {
listview.setEmptyView(empty);
progress.setVisibility(View.GONE);
listview.setVisibility(View.VISIBLE);
emptyText.setText("Empty Queue");
emptyImage.setImageResource(R.drawable.ic_action_warning);
} else {
if(result.getSlots().size() != 0) {
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
callAsynchronousTask();
}
}, 5000);
} else {
listview.setEmptyView(empty);
progress.setVisibility(View.GONE);
listview.setVisibility(View.VISIBLE);
emptyText.setText("No items found");
}
}
}
}
這裏是我的片段,我想執行這個任務:
public class Fragment extends SherlockFragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container, false);
}
ViewPager mViewPager = (ViewPager) rootView.findViewById(R.id.viewPager);
kbps = (TextView) rootView.findViewById(R.id.speed);
refresh = (ImageView) rootView.findViewById(R.id.refresh);
refresh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//CALL ASYNCTASK HERE
}
});
return rootView;
}
對不起,但我不想使用一個外部庫,只爲任務()。execute(); – Timmeeh93 2014-11-08 23:42:02