2016-07-21 8 views
0

Ich habe eine listview und eine Reihe von sagen 30 Artikel, jetzt möchte ich die ersten 10 Elemente nur zeigen, wenn ich es öffne, und dann, wenn ich nach unten scrollen möchte ich eine Last mehr Schaltfläche, die wenn angeklickt wird hinzufügen nächsten 10 Artikel auf die listview und wieder auf dem Bildlauf nach unten sollte es laden mehr Schaltfläche zeigen. Ich weiß einfach nicht, wie ich damit umgehen soll, jede Hilfe wäre willkommen.Wie fügt man die Schaltfläche "load more" in der Android-Listenansicht für Offline-Inhalte hinzu?

+0

siehe meine Antwort hinzufügen und ich –

+0

http://stackoverflow.com/questions/17473933/android-listview-setonscrolllistener und http wissen lassen, : //stackoverflow.com/questions/31000964/how-to-implement-setonscrolllistener-in-recyclerview kann Ihnen helfen – Nepster

Antwort

0
listv.setOnScrollListener(new OnScrollListener() { 

     public void onScrollStateChanged(AbsListView view, int scrollState) { 


     } 

     public void onScroll(AbsListView view, int firstVisibleItem, 
       int visibleItemCount, int totalItemCount) { 

      if(firstVisibleItem+visibleItemCount == totalItemCount && totalItemCount!=0) 
      { 
       if(flag_loading == false) 
       { 
        flag_loading = true; 
        addmoreitems(); 
       } 
      } 
     } 
    }); 

und dann können Sie die nächsten zehn Elemente in addmoreitems() hinzufügen. es wird klappen.

Wenn Sie Button in der Fußzeile von listview hinzufügen möchten, fügen Sie einfach yourlistview.addFooterView hinzu. Probieren Sie diese code

0

Wir Mehr laden Schaltfläche hinzufügen können Ansicht mit listview.addFooterView(btnLoadMore) dann auflistet, können wir ein Klick-Ereignis-Listener ada mehr Taste laden und einen Hintergrund-Thread aufrufen, die mehr Daten zur Listenansicht anhängen wird.

hier ist das komplette Tutorial auf listview with load more button

hoffe, das hilft :)

0

Make folgende Änderungen ListAdapter Klasse

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
.... 
if (mTotalPages > mData.size()) { 

    if ((position + 1) == getCount()) { 
     holder.sLoadingView.setVisibility(View.VISIBLE); 
    } else { 
     holder.sLoadingView.setVisibility(View.GONE); 
    } 
} 

    .... 
} 

Wo mTotalPages = 30 in Ihrem Fall.

In Adapter Layout Last mehr Ansicht am Boden wie diese,

<TextView 
    android:id="@+id/loading_more_items" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/content_wrapper" 

    android:layout_centerHorizontal="true" 
    android:layout_margin="@dimen/space" 

    android:clickable="false" 
    android:gravity="start" 
    android:singleLine="false" 
    android:text="Loading..." 
    android:textColor="@color/dark_grey" 

    android:textSize="@dimen/text_size_small" 
    android:visibility="gone" /> 
Verwandte Themen