要在循环触发通过按钮和一个名为装载更多连连实现再次运行AysncTask,一旦它完成了 - onPostExcecute()
- 运行的AsyncTask命名loadMore。被执行的AsyncTask - 当loadMore的
onPostExecute()
错误&约束
- 的logcat ::
03-07 20:31:38.330: E/AndroidRuntime(504): java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once <h2>
试图
- 按钮LOADMORE才可见。在
onPostExecute()
内添加LOADMORE视图。 - AsyncTask的假定行为不是通过LOADMORE按钮来实现的。
- 检查是否AysncTask - loadMore RUNNING与否? LOADMORE按钮的内部
onClickListener
。 - 但随着日志信息它从来没有达到LOADMORE按钮
onClickListener
。
onClickListener LOADMORE按钮)loadMore的AsyncTask的代码::
ld. . . . . .loadMore AsyncTask.
ll. . . . . . LinearLayout (where I'm removing and Adding LOADMORE button).
loadMore. . . LOADMORE Button.
public void onClick(View v) {
// TODO Auto-generated method stub
ll.removeView(loadMore);
//loadMore.setVisibility(View.INVISIBLE);
spin2.setVisibility(View.VISIBLE);
if(ld.getStatus()==Status.PENDING)
{
ld.execute();
Log.i("PENDING", "Not yet RUNNING");
}
else if(true)
{
while(ld.getStatus()==Status.RUNNING)
{
Log.i("loadMore Async", "LoadMore RUNNING");
if(ld.getStatus()==Status.FINISHED)
return;
}
ld.execute();
}
}
onPostExecute(::
protected void onPostExecute(Void result) {
adapter = new PhotosAdapter(MainActivity.this, arrPhotos);
gridOfPhotos.setAdapter(adapter);
spin2.setVisibility(View.GONE);
ll.addView(loadMore);
Log.i("loadMore-Async", "Adding LoadMore button again");
Log.i("loadMore-Async", "LoadMore AsyncTask onPost() finished");
loadMore.setOnClickListener(n);
Log.i("loadMore-Async", "Adding Listener to LoadMore");
}
任何帮助,将不胜感激!!
创建一个新的AsyncTask的onClickListener? – njzk2 2013-03-07 15:34:01
为什么不创建服务? – Payal 2013-03-07 15:34:34
@ njzk2创建一个新的loadMore AsyncTask意味着我需要再次创建它的对象? – 2013-03-07 15:35:19