0
 private class GetXMLTask extends AsyncTask<String, Void, String>
 {
        @Override
        protected String doInBackground(String... urls)
        {           
        String output = null;           
        try
        {   
            List<String> citations = new ArrayList<String>();
             for (String url : urls) 
                 {                  
                    output = getOutputFromUrl(url);   
                    citations.add(output);
                outputText.setText(output);
             }               
        }
        catch(Exception e)
        {
            Toast.makeText(getBaseContext(), "Cant connect to server", Toast.LENGTH_LONG).show();
        }
        return output;
    }           
  } 

//我正在尝试从 Google App Engine 读取字符串并将其设置为文本框。其余的代码都很好。但是异步任务抛出了一个致命的异常......帮助!

4

2 回答 2

3

删除这个:

Toast.makeText(getBaseContext(), "Cant connect to server", Toast.LENGTH_LONG).show();

Toast 在 doInBackground() 中不起作用并移动

outputText.setText(output);

onPostExecute(){}
于 2012-09-27T10:24:01.323 回答
0

UI 更新不能工作doInBackground(),使用runOnUi()方法你可以做到这一点..like this

runOnUIThread(Toast.makeText(getBaseContext(), "Cant connect to server", Toast.LENGTH_LONG).show();
于 2012-09-27T10:25:30.907 回答