我是Android新手。Android登錄主題
我有一個UI線程,用戶點擊「登錄」。一旦他們點擊登錄,就會創建一個線程(Android的AsyncTask),該線程將進入互聯網(HTTPPost)並驗證輸入。還有一個「進度條」。現在我的問題是,如何返回到Activity(UI線程?),以便關閉並開始新的活動。
我想出了一個天真的想法,就是讓AsyncTask類成爲Activity的一個子類。這種方式在「onPostExecute」方法中,我可以完成活動。
有沒有適當的方法來做到這一點?
我是Android新手。Android登錄主題
我有一個UI線程,用戶點擊「登錄」。一旦他們點擊登錄,就會創建一個線程(Android的AsyncTask),該線程將進入互聯網(HTTPPost)並驗證輸入。還有一個「進度條」。現在我的問題是,如何返回到Activity(UI線程?),以便關閉並開始新的活動。
我想出了一個天真的想法,就是讓AsyncTask類成爲Activity的一個子類。這種方式在「onPostExecute」方法中,我可以完成活動。
有沒有適當的方法來做到這一點?
你可以通過活動的context
在contructor of asyntask
和onPostExecute
您可以通過它context
和startActivity
從那裏關閉該活動。
public class MyAsyn extends AsyncTask<String, Void, Void>{
public MyAsyn(Context con) {
context = con;
}
}
,然後在onPostExecute做
i = new Intent(context,AnotherActivity.class);
context.startActivity(i);
((Activity) context).finish();
是的,你可以使Asynctask成爲Activity的內部類,並在onPostExecute
中使用startActivity。
如果其在spearate java文件,那麼你可以通過上下文的AsyncTask的構造和startActivity
或者你可以使用接口作爲回調的活動和活動啓動活動本身。你也可以使用Handler。在的AsyncTask的postexecute方法
呼叫startActivity。這將返回到Activity類。
調用此方法在異步任務
protected void onPostExecute(String result) {
if(progressDialog!=null&&progressDialog.isShowing()){
progressDialog.dismiss();
}
}