-1

我在Android應用程序中遇到問題。視圖通常在AsyncTask被註釋時加載。 何時,我取消註釋,該活動不會顯示/加載視圖。該活動是空的...爲什麼在調用AsyncTask時不顯示我的RelativeLayout?

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" > 

    <ProgressBar 
     android:id="@+id/progressBar" 
     style="?android:attr/progressBarStyleLarge" 
     android:indeterminate="true" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_centerInParent="true"/> 
</RelativeLayout> 

的Java

public class ActivitySplash extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash); 

     new AsyncDownloadJson(this).execute("https://my-api-url.com").get(); 

    } 
} 

你能向我解釋爲什麼? 謝謝。

+0

你必須表現出異步任務的onPostExecute你的看法。 –

+1

你的'AsyncDownloadJson'如何看起來像,不要調用'get()',否則你的用戶界面線程會凍結。 –

+0

沒有'get()'它只會啓動AsyncTask而不顯示UI。如何顯示視圖並等待AsyncTask結果? – Mathieu

回答

0

你在主線程中調用Asynctask.get(),所以你的主線程是凍結的。

您應該簡單地致電new AsyncDownloadJson(this).execute("https://my-api-url.com");並更新您的GUI在onPostExecute(Result)

有關詳細信息讀取AsyncTask

相關問題