例として、次のコードを検討してください。ただし、いくつかの空白を埋める必要があります。
これはProgressBar、アプリの の 1 つにa を表示する方法ですActivities。これには ListView があり、独自のコンテンツに置き換える必要があります。
<LinearLayout
android:id="@+id/linlaHeaderProgress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone" >
<ProgressBar
android:id="@+id/pbHeaderProgress"
style="@style/Spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp" >
</ProgressBar>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="left|center"
android:padding="2dp"
android:text="Loading...."
android:textSize="20sp" >
</TextView>
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:cacheColorHint="@android:color/transparent"
android:divider="#000000"
android:dividerHeight="0dp"
android:fadingEdge="none"
android:persistentDrawingCache="scrolling"
android:scrollbars="none" >
</ListView>
次に、このレイアウトを にマップする Java コードでActivity、LinearLayout linlaHeaderProgress. android:visibility="gone"XML 自体では、属性が に設定されていることに注意してください"gone"。
AsyncTask を使用して郵便番号を取得する場合、 でプロセスが行われている間に、次のように の可視性を切り替えて をdoInBackground()表示します。ProgressBarlinlaHeaderProgressonPreExecute()
@Override
protected void onPreExecute() {
// SHOW THE PROGRESS BAR (SPINNER) WHILE FETCHING POST DETAILS
linlaHeaderProgress.setVisibility(View.VISIBLE);
}
で、onPostExecute()次のように可視性を再度切り替えます。
@Override
protected void onPostExecute(Void result) {
// HIDE THE PROGRESS BAR (SPINNER) AFTER FETCHING THE POST DETAILS
linlaHeaderProgress.setVisibility(View.GONE);
}
AsyncTask を使用しておらず、代わりに で処理を行っている場合Methodは、メソッドの開始時にこれを使用します: linlaHeaderProgress.setVisibility(View.VISIBLE);。EditText に郵便番号を表示したら、メソッドの最後でこれを使用します。linlaHeaderProgress.setVisibility(View.GONE);
グローバルに宣言するLinearLayout linlaHeaderProgressので、必要な場所で再利用できます。これが役に立ったかどうか、または他にご不明な点がありましたらお知らせください。