title: Find if a ListView is scrolled "fully" to the bottom?
body: <p><strong>What I Want</strong></p>
  
  <p>I want to detect if the ListView have been scrolled "fully" to the bottom. By the word "fully", I mean that the last element of the list should be fully visible.</p>
  
  <p><strong>What I Did</strong></p>
  
  <p>This is what I did.</p>
  
  <pre><code>list.setOnScrollListener(new AbsListView.OnScrollListener() {
                      @Override
                      public void onScrollStateChanged(AbsListView view, int scrollState) {
  
                      }
  
                      @Override
                      public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
  
                          switch (view.getId()) {
                              case R.id.encList:
  
                                  final int lastItem = firstVisibleItem + visibleItemCount;
                                  if (lastItem == totalItemCount) {
  
                                      if (preLast != lastItem) { //to avoid multiple calls for last item
                                          Log.d("Log", "Last reached");
                                          preLast = lastItem;
                                      }
                                  } else
                                      preLast = lastItem;
                          }
  
                      }
                  });
  </code></pre>
  
  <p><strong>The Problem</strong></p>
  
  <p>My code works to some extent but doesn't provide the exact result I wish for. The log gets printed when the last element is visible, but I want it to be printed only when the last element is fully visible.</p>
  
  <p>What modifications do I need in this code?</p>