3

我試圖從doInBackground()方法在AsyncTask中啓動一個Activity,但似乎並未開始。如何從AsyncTask啓動一個IntentTask

我已經通過了使用params [0]調用AsyncTask的Activity。

public class StartProcess extends AsyncTask<Main, Void, Main> 
{ 
    @Override 
    protected Main doInBackground(Main... params) { 

     return params[0]; 
    } 
    protected void onPostExecute(Main... params) { 
     // TODO Auto-generated method stub 
     System.out.println("post"); 
     Intent loc = new Intent(params[0],LocationHandler3.class); 
     loc.putExtra("locationType",0); 
     loc.putExtra("startEndType",0); 
     params[0].startActivity(loc); 
    } 


} 
+0

使用onpostexecute()方法來做到這一點。 – Akram 2012-03-03 09:47:09

+0

@Akki我是否像以前一樣通過Main? – Neeta 2012-03-03 09:53:00

+0

AsyncTask 而不是返回公牛爲什麼你不只是返回主 – Akram 2012-03-03 10:17:20

回答

1

使用這個修改後的代碼開始活動。

public class StartProcess extends AsyncTask<Main, Void, Main> { 
     @Override 
     protected Main doInBackground(Main... params) { 
      return params[0]; 
     } 
    protected void onPostExecute(Main params) { 
    // TODO Auto-generated method stub 
     System.out.println("post"); 
     Intent loc = new Intent(params,LocationHandler3.class); 
      loc.putExtra("locationType",0); 
      loc.putExtra("startEndType",0); 
      startActivity(loc); 
    } 
    } 
+1

這也解決了我的Looper.loop()問題。不再需要這個了! – Neeta 2012-03-03 12:11:36

1
StartProcess objStartProcess= new StartProcess(); 
    objStartProcess.execute(""); 

OnPostExecute方法使用execute("")您可以撥打doinBackground() method. ......而完整的AsyncTask因此嘗試在...

相關問題