调用AsyncTask时为什么我的RelativeLayout没有显示?

时间:2016-12-07 13:20:23

标签: android android-asynctask android-view android-relativelayout

我的Android应用中存在问题。通常在注释AsyncTask时加载视图。 当我取消注释时,活动不会显示/加载视图。活动是空的......

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>

爪哇

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();

    }
}

你能解释一下为什么吗? 感谢。

1 个答案:

答案 0 :(得分:0)

您正在主线程中调用Asynctask.get(),因此您的主线程正在冻结。

您只需致电new AsyncDownloadJson(this).execute("https://my-api-url.com");并在onPostExecute(Result)更新您的GUI。

有关详细信息,请参阅AsyncTask