2013-04-01 84 views
0

我正在使用Data Droid庫加速異步任務。在數據droid中有類似於異步任務的onpostexecute的方法。我正在使用數據droid執行一些異步任務來預取數據。我想實現監聽器通知後臺進程完成到另一個activity.c任何人都清楚地解釋如何用interface實現這一點。我已經經歷了很多stackoverflow的問題,但仍不清楚如何實現這個接口。爲後臺活動實現監聽器android

+0

您需要在執行方法的另一個活動中註冊一個回調監聽器。 –

+0

可以用我的解釋來告訴我如何實現監聽器,以便通知另一個activity的活動中的後臺進程完成。我看到很多關於這個的答案,但我仍然不清楚。 – user1526671

+0

當您想要接收完成監聽器時,這將成爲您的前臺活動。 –

回答

1
public abstract class BaseActivity extends Activity implements CompletionListener { 
CompletionListener completionListener; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    completionListener=this; 
} 


class MyTask extends AsyncTask<Void, Void, Void>{ 

    @Override 
    protected Void doInBackground(Void... params) { 
     // TODO Auto-generated method stub 
     return null; 
    } 
    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     completionListener.onCompletion(); 
    } 
} 

} 

讓你的活動擴展這個BaseActivity和MyTask是你的異步任務,那麼所有擴展這個基類將收到來自onPostExecute()的調用活動;

public interface CompletionListener { 
public void onCompletion(); 
}