Hello I am working with one project. In which i need to get first visible line of text view. It means when textview has 100 lines and user has scrolled up to 49 lines then i need to get data of line number 50.
Here is my code but its not working i am getting first line data everytime:
recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(final RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
LinearLayoutManager layoutManager = ((LinearLayoutManager) recyclerView.getLayoutManager());
int firstVisiblePosition = layoutManager.findFirstVisibleItemPosition();
textView = ((RewardTransactionsAdapter.MyViewHolder) recyclerView.
findViewHolderForLayoutPosition(firstVisiblePosition))
.itemView.findViewById(R.id.textViewRTTitle);
Rect r1 = new Rect();
recyclerView.getHitRect(r1);//gets visible rect of textview
Layout l = textView.getLayout();
int line = l.getLineForVertical(-1 * r1.top);//first visible line
int start = l.getLineStart(line);//visible line start
int end = l.getLineEnd(line);//visible line end
String displayed = textView.getText().toString().substring(start, end);
Log.i("TAG", displayed);
}
});