2011-12-30 7 views
0

アクティビティを開始し、メソッドonResumeでスレッドを起動すると、アクティビティのUIはスレッドが終了したときにのみ表示されるため、AndroidスレッドとUI

@Override 

protected void onResume() { 

    super.onResume(); 

    processDocuments(); 

} 


private void processDocuments(){ 
    parser = new Parser(rssDocument.getDocument(),rssDocument.getFeedRSS(), listener); 
    Thread processThread = new Thread(parser); 
    processThread.start(); 
} 
+0

を使用して、バックグラウンドでスレッドを実行する必要があります。このやや奇妙な振る舞いを再現するコードをいくつか示してください。 – Jens

+0

@Jensコードが追加されました –

+2

getFeedRSS()またはParser()コンストラクタでUIスレッドでダウンロードしていますか?そのものをバックグラウンドスレッドに移動します。また、スレッドではなくAsyncTaskを使用します。 –

答えて

-1

あなたは右の音ではありませんAsyncTask

private class getRSSS extends AsyncTask<Void, Void, Void> { 

@Override 
    protected String doInBackground(void... args) { 
    parser = new Parser(rssDocument.getDocument(),rssDocument.getFeedRSS(), listener); 
    Thread processThread = new Thread(parser); 
    processThread.start(); 

} 
@Override 
    protected void onPostExecute(String result) { 
     //Set a toast to say finished. You are allowed to update the UI here. 
    } 

}

関連する問題