要在循環觸發通過按鈕和一個名爲裝載更多連連實現再次運行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