我没有达到onPostExecute
一个AsyncTask
班级。
onClick
我在对话框中以这种方式调用任务:
new HelpfulTask().execute(passing);
注意:当我将鼠标悬停在上面的代码上时,我会收到一条警告:
为 varargs 参数创建了一个 ArrayList 的通用数组。
我不确定这意味着什么,如果这会阻止我的任务甚至运行?
这是任务代码:
protected class UnHelpfulTask extends
AsyncTask<ArrayList<String>, Void, ArrayList<String>> {
ArrayList<String> passed;
protected ArrayList<String> doInBackground(ArrayList<String>... passing) {
passed = passing[0];
String url_select = "http://www.---.com/---/bad.php";
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("item", passed.get(0)));
param.add(new BasicNameValuePair("text", passed.get(1)));
param.add(new BasicNameValuePair("category", passed.get(2)));
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url_select);
try {
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
// read content
is = httpEntity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
return null;
}
InputStream is = null;
String result = "";
protected void onPostExecute(Void v) {
Toast.makeText(getContext(), "You have voted this down!",
Toast.LENGTH_SHORT).show();
}
}
我在运行时没有收到任何错误,在 中onPostExecute
,Toast 从不显示。 (注意:这是 an 内部的一个内部类ArrayAdapter.
) 我还添加了一个 toast 以查看我ArrayList
是否正确展开并将其放入,onPostExecute
但它也从未显示。
如何测试以查看此任务是否正在运行?