use of com.android.calendar.agenda.AgendaAdapter.ViewHolder in project Etar-Calendar by Etar-Group.
the class AgendaListView method shiftPosition.
private void shiftPosition(int offset) {
if (DEBUG) {
Log.v(TAG, "Shifting position " + offset);
}
View firstVisibleItem = getFirstVisibleView();
if (firstVisibleItem != null) {
Rect r = new Rect();
firstVisibleItem.getLocalVisibleRect(r);
// if r.top is < 0, getChildAt(0) and getFirstVisiblePosition() is
// returning an item above the first visible item.
int position = getPositionForView(firstVisibleItem);
setSelectionFromTop(position + offset, r.top > 0 ? -r.top : r.top);
if (DEBUG) {
if (firstVisibleItem.getTag() instanceof AgendaAdapter.ViewHolder) {
ViewHolder viewHolder = (AgendaAdapter.ViewHolder) firstVisibleItem.getTag();
Log.v(TAG, "Shifting from " + position + " by " + offset + ". Title " + viewHolder.title.getText());
} else if (firstVisibleItem.getTag() instanceof AgendaByDayAdapter.ViewHolder) {
AgendaByDayAdapter.ViewHolder viewHolder = (AgendaByDayAdapter.ViewHolder) firstVisibleItem.getTag();
Log.v(TAG, "Shifting from " + position + " by " + offset + ". Date " + viewHolder.dateView.getText());
} else if (firstVisibleItem instanceof TextView) {
Log.v(TAG, "Shifting: Looking at header here. " + getSelectedItemPosition());
}
}
} else if (getSelectedItemPosition() >= 0) {
if (DEBUG) {
Log.v(TAG, "Shifting selection from " + getSelectedItemPosition() + " by " + offset);
}
setSelection(getSelectedItemPosition() + offset);
}
}
Aggregations