-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

相关问题