2012-02-03 27 views
-2

在应用程序中,我调用了alerdialog中的线程单击侦听器。 它显示Mobile Samsung pro中的错误“强制关闭应用程序”。 但当我在另一个应用程序中执行相同的代码,然后代码正常工作...Android与线程显示错误

+0

粘贴您登录这里,以使其更清晰。 – Yuvi 2012-02-03 04:52:17

+1

把你的代码和完整的日志。 – jeet 2012-02-03 04:52:45

+0

-1经过8个小时仍然没有问题的代码,没有评论回答 – 2012-02-03 13:07:18

回答

2

这可能是因为你在alerdialog click listener中做错了。做你做错的事是对的,它不会显示错误。

+0

答案应该去社区Wiki恕我直言 – 2012-02-03 05:04:29

0

下面的过程是否有助于完整的在你的应用程序中 Android还提供了一个名为AsyncTask的东西,它专门用于在单独的线程上运行一些东西,还有一些在UI线程上运行。这将自动使用Android的线程池,如果你没有任何理由使用一个明确的独立的线程,是一个简单,干净的路要走:

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> { 
    // Runs on a ThreadPool thread 
    protected Long doInBackground(URL... urls) { 
     int count = urls.length; 
     long totalSize = 0; 
     for (int i = 0; i < count; i++) { 
      totalSize += Downloader.downloadFile(urls[i]); 
      // Sends data to onProgressUpdate to run on the UI thread 
      publishProgress((int) ((i/(float) count) * 100)); 
     } 
     return totalSize; 
    } 

    // Runs on the UI thread! 
    protected void onProgressUpdate(Integer... progress) { 
     setProgressPercent(progress[0]); 
    } 

    // Runs on the UI thread! 
    protected void onPostExecute(Long result) { 
     showDialog("Downloaded " + result + " bytes"); 
    } 
}