2017-01-04 10 views
0

私はRecyclerViewの下部にProgressBarを追加しようとしていますが、問題はRecyclerViewの下部を検出しています。Android:RecyclerView add bottom ProgressBar

マイgetItemViewType私はRecyclerViewの一番下までスクロールしてもlist.get(位置)は常にnullではないので、常に1を返しますが、ここに私のコード

@Override 
public int getItemViewType(int position) { 
    return list.get(position) != null ? 1 : 0; 
} 

できる任意のボディポイント問題ですここに?

答えて

1

あなたは

return list.size() + 1; 

getItemCountメソッドをオーバーライドして、あなたはビュータイプを確認してください

return (list.size() == position) ? 1 : 0; 

return list.get(position) != null ? 1 : 0; 

を交換shouls(0はあなたのセルと1が1をロードしている場合) onCreateViewHolderメソッドa適切なViewHolderを使用してください(たとえば、this linkを参照)。

@Override 
int getItemCount() { 
    return list.size() + moreDataAvailable ? 1 : 0; 
} 
+0

が、それは私を見る動作しませんでした:

はまた、データの最後のページには、すでにアップロードされた場合は、追加のデータがロードセルを示す防ぐために利用可能であるかどうかを追跡するブール値を持つためのより良い方法がありますこの例外:java.lang.IndexOutOfBoundsException:無効なインデックス26、サイズが26 –

+1

私はすでにそれを行った、それはうまく動作しますが、私はそれが "return(list.size()== position)?0:1;"私はあなたの助けなしにそれを作ることはできませんどのように感謝します。 –

+1

また、0と1を定数に移動することは素晴らしい考えです:)素敵なコーディングをしてください! – UneXp