2

私はdoInBackroundに非同期タスクを持っています私はさまざまなセクションを実行した後、あらゆる種類のことをします

 onProgressUpdate("You proceeded a bit further 1/5");

(まだすべてdoInBackgroundにある)私が持っているまで、それは何度もうまく機能します

HttpSessionToken = (HttpURLConnection)new URL("http://myserver").openConnection();
HttpSessionToken.setRequestMethod("GET");   
HttpSessionToken.setRequestProperty("Accept", "application/json");

onProgressUpdate("Still everything is working fine");
int returnCode = HttpSessionToken.getResponseCode();
onProgressUpdate("This onProgressUpdate crashes!");

最後のonProgressUpdateがクラッシュしますが、なぜクラッシュするのですか?getResponseCode()は、実行しているスレッドを切り替えましたか?

4

1 に答える 1

3

を直接呼び出すのonProgressUpdateではなく、呼び出してpublishProgress、AsynTask フレームワークが を処理onProgressUpdateし、UI スレッドで呼び出されるようにする必要があります。

于 2013-03-19T20:00:03.713 に答える