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();

トーストはdoInBackground()で機能せず移動します

outputText.setText(output);

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

UI の更新は では機能しません。この方法をdoInBackground()使用すると、このように実行できます。runOnUi()

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