在asynctask OnPostExecute中更改片段布局

时间:2013-07-18 09:20:38

标签: android android-fragments android-asynctask

我有一个AsyncTask,它从网上获取数据。这些数据应该写入ListView。

我在AListFragment的片段中显示了一个进度条。

public class AListFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
        View rootView = inflater.inflate(R.layout.progress_bar, container, false);
        return rootView;
    }   
}

progress_bar.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:id="@+id/loadOverviewStatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:visibility="gone" >

    <ProgressBar
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp" />

    <TextView
        android:id="@+id/login_status_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:fontFamily="sans-serif-light"
        android:text="Loading..."/>
</LinearLayout>

如何在asynctask的OnPostExecute中更改片段的布局,我得到一个ListView?

1 个答案:

答案 0 :(得分:0)

您无需更改片段布局,只需制作包含ListViewProgressbar的布局,并创建两个功能:
1- showLoading()女巫会显示progressbar并隐藏ListView 2- hideLoading()隐藏Progressbar并显示ListView

当您开始加载数据通话showLoading()时,当您完成通话hideLoading()