2017-09-18 6 views
-2

画面下部にButtonを追加しました。それは "Go To Top"ボタンです。 ユーザーが最初の行の先頭にいるときに非表示にして、2行目を超えてスクロールするときに表示します。スクロールダウン時の表示ボタンリストビュー

リストビューにonscroll listnerを追加できます。しかし、私は行番号を確認する方法がわかりません

誰もそれを達成するための例を提供することはできますか?

+0

ような何かを試すことができます5123675 ​​/ find-out-if-listview-is-the-bottom下にスクロール –

+0

https:// s tackoverflow.com/questions/29451398/animate-hide-button-when-close-to-end-of-listview – Ankita

答えて

1

あなたはたびにリストをスクロールする通知を受け取るリスナーを設定しsetOnScrollListener

setOnScrollListener

を使用することができます。

サンプルコード

listview.setOnScrollListener(new AbsListView.OnScrollListener() { 
     @Override 
     public void onScrollStateChanged(AbsListView view, int scrollState) { 


     } 

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

      // add here your logic like this 
      int lastItem = firstVisibleItem + visibleItemCount; 
      if (firstVisibleItem < 2) { 

       fab.setVisibility(View.INVISIBLE); 
      }else { 
       fab.setVisibility(View.VISIBLE); 
      } 
     } 
    }); 
+0

ありがとうございます。少し変更してもうまく動作します。 'if(firstVisibleItem <2) ' ありがとうございます。 –

+0

大歓迎@AbuQatada –

0

あなたは、あなたがこのhttps://stackoverflow.com/questions/ような何かを試すことができ、この

Find out if ListView is scrolled to the bottom?

private int preLast; 
// Initialization stuff. 
yourListView.setOnScrollListener(this); 

// ... ... ... 

@Override 
public void onScroll(AbsListView lw, final int firstVisibleItem, 
     final int visibleItemCount, final int totalItemCount) 
{ 

    switch(lw.getId()) 
    { 
     case R.id.your_list_id:  

      // Make your calculation stuff here. You have all your 
      // needed info from the parameters of this function. 

      // Sample calculation to determine if the last 
      // item is fully visible. 
      final int lastItem = firstVisibleItem + visibleItemCount; 

      if(lastItem == totalItemCount) 
      { 
       if(preLast!=lastItem) 
       { 
        //to avoid multiple calls for last item 
        Log.d("Last", "Last"); 
        preLast = lastItem; 
       } 
      } 
    } 
} 
関連する問題