2013-06-13 28 views
6

私は、無限のスクロール効果で簡単なリストビューを作成しています。 新しいデータをダウンロードしているうちに、不確定なプログレスバーをリストビューの下部に表示したい(gmailアプリケーションのように)。リストビューの下部にプログレスバーを追加

それを隠す/私のリストビューの下部にあるプログレスバーやショーを追加2つのソリューション

  • は私のリストビューのアイテムとしてプログレスバーを追加しますが、私はこのソリューション
  • が好きではありませんがあります

それはその

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <ListView 
     android:id="@+id/List_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

    <ProgressBar 
     android:id="@+id/trobber" 
     android:layout_below="@+id/List_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:indeterminate="true" > 
    </ProgressBar> 

</RelativeLayout> 

しかし、進捗状況のようなものを与えるだろう私のリストが私の画面のサイズよりも長い場合(言い換えれば、私がscollする必要がある時)、バーは表示されません。

答えて

7

代わりにyourListViewを使用します。 addFooterViewここにあなたがそれを行う方法です、精緻化されるためには

+0

ありがとう、あなたは私に多くの時間を救った! – loonis

+0

喜んで – OWZY

+3

私のリストビューにFooterViewを追加した後、私はクラスビューを取得していますが、アダプタをlistViewに設定しようとしましたか? – codeRider

3

を(あなたのプログレスバー表示を置く):それはあなたではprogress_bar_footer.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

    <ProgressBar 
     android:layout_width="30dip" 
     android:layout_height="30dip" 
     android:layout_gravity="center" 
     android:indeterminateTint="@android:color/holo_green_light" 
     android:id="@+id/progressBar5"/> 

</LinearLayout> 

として、

A.レイアウトxmlファイルを作成しますB.を名前を活性、

View mProgressBarFooter = ((LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)) 
      .inflate(R.layout.progress_bar_footer, null, false); 

C.使用してください。

listView.addFooterView(mProgressBarFooter); //or 
listView.removeFooterView(mProgressBarFooter); 

クレジットはJohn Moses' pageになります。

+0

完璧な........ –

関連する問題