4

初めて 15 個のビューのグリッドを表示する GridView があります。次に、ボタンをクリックして、さらに 5 つのグリッド ビューを追加します。だから、私の質問は:これらの 5 つのビューが読み込まれているときに、ページの下部に ProgressBar を追加する方法は? スピナーの読み込みのように、5 つのビューが更新されます。

こんにちは、フレームレイアウト内にタブとグリッドビュー用のタブホストタブウィジェットがあります..今、プログレスバーが必要な場合は、フレームレイアウトの後またはフレームレイアウト内にこのリニアレイアウトを含める必要がありますか?

4

4 に答える 4

1

GridViewこれをXML の下に追加します。

<LinearLayout
    android:id="@+id/linlaProgressBar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal" >

    <ProgressBar
        style="@style/Spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="2dp" />
</LinearLayout>

そして、あなたActivityがデータをロードしているあなたの中で(それがであると仮定してAsyncTask)、あなたのonPreExecute()ショーでそれを:

@Override
protected void onPreExecute() {
    // SHOW THE BOTTOM PROGRESS BAR (SPINNER) WHILE LOADING MORE PHOTOS
    linlaProgressBar.setVisibility(View.VISIBLE);
}

onPostExecute()、非表示にします。

@Override
protected void onPostExecute() {
    // SHOW THE BOTTOM PROGRESS BAR (SPINNER) WHILE LOADING MORE PHOTOS
    linlaProgressBar.setVisibility(View.GONE);
}

を使用していない場合は、データのダウンロードを開始するメソッドの開始時にAsyncTask可視性を に設定し、 を設定した後または直前に設定します。View.VISIBLEView.GONEAdapter

編集:追加情報を追加します。

いくつかのこと。

  1. インターネットからデータをダウンロードしています。AsycnTask従来の() Method.
  2. ここで同様の質問に対する数日前の私の回答を確認してください: https://stackoverflow.com/a/13265776/450534

その答えには、正確なニーズに合った完全なソリューションが見つかります。とにかく、ほぼ完全に。いくつかの変更を加えて、自分でいくつかのことに適応する必要がある場合があります。しかし、概して、それはあなたのすべての質問に答えます. 私は自分のアプリでそれを使用していますが、あなたが言うように機能し、Google Play の読み込みテキストが下部にあります。そして本当に完成です。:-)

于 2012-11-28T10:01:54.330 に答える
0

GridViewのxmlにaを追加し、そのプロパティ「alignParentRight=true」および「visibility=invisible」を設定します。アクティビティでは、Asyncタスククラスを使用し、そのpreExectueメソッドセットで可視性を可視に設定します

pb.setVisibility(View.VISIBLE);

doInBackgroundメソッドで画像を読み込み、最後にonPostExecuteメソッドでこのプログレスバーを非表示にします。

pb.setVisibility(View.INVISIBLE);

ロードボタンをクリックして、この非同期タスククラスを実行します。

これは、asyncTaskを理解するための簡単なチュートリアルです。

http://androidresearch.wordpress.com/2012/03/17/understanding-asynctask-once-and-forever/

または、非同期タスクの代わりにスレッドを使用できます。

于 2012-11-28T10:28:54.730 に答える
0

そのためのカスタムビューを作成し、それを膨らませて、グリッドビューのボトムビューとして追加する必要があります

<RelativeLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
>

<Button android:text="Load"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
/>          

<ProgressBar 
       android:layout_width="25.0dip"
       android:layout_height="25.0dip"
       android:layout_centerInParent="true"
       android:visibility="gone"
/>

</RelativeLayout>

このビューを膨らませて、グリッドビューの下部にプログレスバーを表示します。プログレスバーが表示されているだけをクリックすると、これでボタンを下部に設定できます

于 2012-11-28T09:57:02.530 に答える
0

ProgressBarレイアウトに を追加するだけで、その表示/非表示をいつでもVISIBLEまたはに設定できます。GONE

于 2012-11-28T09:58:39.670 に答える