我做了一個擴展Asynctask的普通類。每當我打電話給Asynctask,我有4個字符串,我必須作爲asynctask中的參數傳遞,我可以根據字符串進行進一步處理。 是否有可能在asynctask中發送4個字符串?將參數傳遞給Asyntask
0
A
回答
0
您可以在AsyncTask的構造函數中傳遞它們,如下所示:
public class ProcessTask extends AsyncTask<Void, Integer, String>{
String s1, s2, s3, s4;
public ProcessTask(String str1, String str2, String str3, String str4) {
// TODO Auto-generated constructor stub
s1 = str1;
s2 = str2;
s3 = str3;
s4 = str4;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
//do something with strings
super.onPreExecute();
}
@Override
protected String doInBackground(Void... params) {
// TODO Auto-generated method stub
//your code
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
}
}
電話爲:
ProcessTask p =new ProcessTask(s1, s2, s3, s4);
p.execute();
希望這有助於。
1
一種方法是,您可以使用構造函數獲取變量,並在創建對象時傳遞變量。 例如,
public class SapleAsynctask extends AsyncTask<Void, Void, Boolean> {
public SapleAsynctask(String s1, String s2, String s3, String s4) {
this.s1 = s1;
.
.
.
}
}
如果你想獲得doInBackground()
同時調用asynctask.excecute([])
爲此,你可以傳遞參數的數據,
public class SapleAsynctask extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
S1 = params[0];
s2 = params[1];
.
.
return false;
}
}
,並調用的AsyncTask使用
SapleAsynctask sapleAsynctask = new SapleAsynctask();
sapleAsynctask .excecute(new String[] {"s1", "s2", "s3", "s4"});
1
步驟1.在你的AsyncTask的doInBackground方法解析PARAMS那樣:
public class MyAsyncTask extends AsyncTask<String, Void, Void> {
// ...
@Override
protected String doInBackground(String... params) {
String s1 = params[0];
String s2 = params[1];
// ...
return null;
}
步驟2.當執行的AsyncTask - 通過String []數組:
myAsyncTask.execute(new String[] {s1, s2, s3, s4});
附加信息。有時候您需要傳遞不同類型的參數對象。要做到這一點,你需要傳遞的對象[]數組是這樣的:
myAsyncTask.execute(new Object[] {myObj1, s2, myObj3, s4});
和解析此數組中您的AsyncTask的doInBackground方法是這樣的:使用doInBackground它
public class MyAsyncTask extends AsyncTask<String, Void, Void> {
// ...
@Override
protected String doInBackground(Object... params) {
MyObject myObj1 = (MyObject) params[0];
String s2 = (String) params[1];
// ...
return null;
}
相關問題
- 1. 將參數傳遞給Action?
- 2. 將參數傳遞給colorbox
- 3. 將參數傳遞給hbm2ddl
- 4. 將參數傳遞給window.open
- 5. 將參數傳遞給`addEventListener`
- 6. 將參數傳遞給JsonSerialize
- 7. 將參數傳遞給SimpleHTTPRequestHandler
- 8. 將參數傳遞給Asynctask
- 9. 將參數傳遞給ApplicationBarIconButton.Click
- 10. 將參數傳遞給Html.ActionLink
- 11. 將參數傳遞給CollectionViews
- 12. 將參數傳遞給SQLDataSource
- 13. 將參數傳遞給mouseCallback
- 14. 將參數傳遞給iframe
- 15. 將參數傳遞給aapt
- 16. 將參數傳遞給QueueUserWorkItem
- 17. 將參數傳遞給execl
- 18. 將參數傳遞給chrome.commands
- 19. 將參數傳遞給JavaScript
- 20. 將參數傳遞給Silverlight
- 21. 將參數傳遞給PHPUnit
- 22. 將參數傳遞給api
- 23. 將參數傳遞給Servlet
- 24. 將參數傳遞給Capistrano
- 25. CSS - 將參數傳遞給
- 26. 將參數傳遞給reducer?
- 27. 將參數傳遞給setTimeout?
- 28. 將參數傳遞給角
- 29. 將參數傳遞給array_multi_sort?
- 30. 如何將參數傳遞給傳遞給mapPartitions的函數?
通() – 2014-08-27 08:41:46