例として、次のコードを検討してください。ただし、いくつかの空白を埋める必要があります。
これは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()
表示します。ProgressBar
linlaHeaderProgress
onPreExecute()
@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
ので、必要な場所で再利用できます。これが役に立ったかどうか、または他にご不明な点がありましたらお知らせください。