2014-01-14 65 views
0

我創造,我想使用異步任務來查看數據多數民衆贊成從服務器負載的活動..如何創建沒有return語句一個Android異步任務

但每次我想設置多個TextView的數據服務器值......這就是爲什麼我不希望任何return語句..但不知道如何...請幫助..這是我的代碼..

private class Downloadbasic extends AsyncTask<void, void, void> { 

    @Override 
    protected String doInBackground(String... params) { 

    //details code here 

    } 
} 

它給我的錯誤

+0

要使用的類型是'Void',它是一個對象。無論如何,在asynctask中,總是有一個return語句(但沒有任何東西阻止你返回null) – njzk2

+1

用'Void'代替'void' – Houcine

回答

2

你不能操縱UI從doInBackground。將您的數據返回到onPostExecute,並使用該數據更新您的TextView。或者,將它們保存在全局變量中(不推薦),並將它們用於UI,但仍然來自onPostExecute

+2

如果必須在服務器工作期間更新值,也可以使用publishProgress。 – njzk2

0

只需查看您的問題:

代碼:

//Here both your return type and parameter are Void and also not written perfectlly 
//write Void not void 
private class Downloadbasic extends AsyncTask<void, void, void> { 

@Override 
protected String doInBackground(String... params) { 

//details code here 

    } 
} 

所有你必須使用太虛沒有無效 ..anyways

這裏首先你都返回類型和參數類型是無效的,但在您的protected String doInBackground(String ... params)中使用字符串在這兩種情況下。這是主要錯誤。

如果你想創建asynctask而沒有返回,那麼返回null必須幫助你在這裏。

在做AsyncTask中的任何事情之前,請先閱讀AsyncTask Documentation

然後看到這個conversation

由於

0
public class Downloadbasic extends AsyncTask<Void, Void, Void>{ 
     @Override 
     protected Void doInBackground(Void... params) { 
    //details code here 

}}