我想通过名为 LOAD MORE 的按钮在循环触发器中一次又一次地运行名为 loadMore 的 AsyncTask。
错误:
03-07 20:31:38.330: E/AndroidRuntime(504): java.lang.IllegalStateException: 无法执行任务:任务已经执行(一个任务只能执行一次
试过了
- 按钮 LOADMORE 仅在
onPostExecute()
loadMore - AsyncTask 执行时可见。在里面添加 LOADMORE 视图onPostExecute()
。 - AsyncTask 的假定行为不会通过 LOADMORE 按钮出现。
- 检查 AysncTask - loadMore RUNNING 与否?LOADMORE 按钮内部
onClickListener
。 - 但作为记录信息,它永远不会到达
onClickListener
LOADMORE 按钮。
LOADMORE 按钮的 onClickListener 代码::
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();
}
}
loadMore AsyncTask 的 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");
}