未找到Android AsyncTask params

时间:2014-12-23 21:57:40

标签: java android android-asynctask nullpointerexception params

我是android / java的新手,但我拥有c#和.Net的高级知识。

我遇到了AsyncTask的问题。

我的代码:

import android.os.AsyncTask;

public class testtask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        String response = ""; // BREAKPOINT HERE

        return "";
    }

    @Override
    protected void onPostExecute(String result) {
    }
}

和电话:

public void RequestDepartments(View view) {
    BamakiWebService service = new BamakiWebService();
            RequestType request = new RequestType();

            request.Uri = "departments/all";


            try {

                testtask task = new testtask();
                task.execute("wfwef");

            }
            catch (Exception ex) {
                Log.e("Main", ex.getMessage());
            }
}

代码失败,因为我无法访问网址?! 当我调试doInBackground并添加网址时,它会显示“无法找到本地变量'网址'”?! (关于BreakPoint - &gt; // BREAKPOINT HERE)

我做错了什么?!

修改

将执行更改为

testtask task = new testtask();
String[] params = new String[] {"wfwef"};
task.execute(params);

没有解决问题...

2 个答案:

答案 0 :(得分:0)

您不需要传递字符串数组!如果您只传递一个字符串,则可以使用urls [0]访问doInBackground中的该字符串!希望它有所帮助

yourAsyncTask.execute(Your URL String);

doInBackground访问网址中,就像使用数组一样。网址[0]

答案 1 :(得分:-1)

将execute()作为参数赋予字符串数组,而不是字符串。 在doInBackground(String ... urls) 你可以用网址[0],网址[1]等取回它。