2012-05-01 181 views
0

我可以让进度对话框停止,但TabbedView活动永远不会启动,只会进入黑屏。有任何想法吗?活动未启动

class DownloadWebPageTask extends AsyncTask<String, Void, String> { 
    private final ProgressDialog dialog = new ProgressDialog(MainScreen.this); 
    @Override 
     protected void onPreExecute() { 
      dialog.setMessage("Gathering data for\n"+selectedSportName+".\nPlease wait..."); 
      dialog.show(); 
     } 


    @Override 
    protected String doInBackground(String... urls) { 
     String response = ""; 
     updateMaps(); 
     return response; 
    } 



    @Override 
    protected void onPostExecute(String result) { 
     dialog.dismiss(); 
     startTabbedViewActivity(); 
    } 
} 


private void startTabbedViewActivity(){ 
    Intent intent = new Intent(this, TabbedView.class); 
    intent.putExtra(SPORT_NAME_EXTRA, selectedSportName); 
    intent.putExtra(HEADLINES_FOR_SPORT_EXTRA,   existingSportHeadlines.get(selectedSportName)); 
    intent.putExtra(SCORES_FOR_SPORT_EXTRA, existingSportScores.get(selectedSportName)); 
    intent.putExtra(SCHEDULE_FOR_SPORT_EXTRA, existingSportSchedule.get(selectedSportName)); 
    startActivity(intent); 
} 

我已经看过了Manifest文件,我没有看到任何奇怪的东西。无法弄清楚这一点。

+0

ProgressDialog停止旋转,并保持几秒钟,然后屏幕变黑。 – user1154644

+1

你可以使用'AsyncTask'参考这个[developer.android.com](https://developer.android.com/reference/android/os/AsyncTask.html) – Herry

+1

尝试使用异步任务,也因为你在同一个活动没有必要startActivity。 – user1203673

回答

0

是活动的布局导向正确

android:orientation="vertical" 
+0

是,方向已设定。 – user1154644

0

你忘所以根本没有执行它添加@覆盖上面的“onPostExecute”的方法。

+0

小记。因此,任务完成时,应用程序只会从AsyncTask类(而不是子类中的那个)调用'onPostExecute'方法。 –

+0

我加了@Override,但显然它不是正确的覆盖。我正在使用正确的onPostExecute方法“必须重写或实现一个超类型方法”? – user1154644