0

我是安卓新手。构建一个需要在后台完成一些任务的应用程序。以下是代码片段。

public class YQL extends AsyncTask <List,Void,List>
{   @Override
    protected List doInBackground(List... Suggestions) {
                //doing some stuff using Suggestions[0]
    }    
}

我有一个 List 类的对象,即 mySuggestions,我需要将其传递给异步任务。但是由于异步任务仅将数组作为输入,因此我尝试了以下操作。

YQL yqlMain = new YQL();
List[] temp = null;
temp[0] =  mySuggestions
yqlMain.execute(temp);

没用。错误:空指针访问:变量 temp 只能为空。有什么建议么?

4

3 回答 3

0

你做错了..做类似的事情

List temp = new ArrayList();
temp.add(mySuggestions);
yqlMain.execute(temp);
于 2013-06-25T10:53:24.487 回答
0
new DownloadFilesTask().execute(url1, url2, url3);

然后

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
..
..
}

检查此链接: AsyncTask

于 2013-06-25T11:02:28.327 回答
0

temp为空,但您正在其中调用操作。这给出了NullPointerException.

以下代码应该可以解决问题(未经测试)

public class YQL extends AsyncTask <String,Void,List>
{   
    @Override
    protected List doInBackground(String... Suggestions) {

    }    
}

执行:

YQL ygl = new YQL();
ygl.Execute("Suggestion 1", "Suggestion 2")
于 2013-06-25T10:57:25.113 回答