SideBarView icon indicating copy to clipboard operation
SideBarView copied to clipboard

SortAdapter 优化

Open my29 opened this issue 5 years ago • 0 comments

首字母和上一个首字母是否相同,如果相同字母导航条就影藏,否则就显示 int section = getSectionForPosition(viewHolder.getLayoutPosition()); if (viewHolder.getLayoutPosition() == getPositionForSection(section)) { (viewHolder.getView(R.id.tv_key)).setVisibility(View.VISIBLE); } else { (viewHolder.getView(R.id.tv_key)).setVisibility(View.GONE); }

/** * 根据ListView的当前位置获取分类的首字母的Char ascii值 */ public int getSectionForPosition(int position) { return getData().get(position).getWord().charAt(0); }

/**
 * 获取第一次出现该首字母的List所在的位置
 */
public int getPositionForSection(int section) {
    for (int i = 0; i < getData().size(); i++) {
        String sortStr = getData().get(i).getWord();
        char firstChar = sortStr.toUpperCase().charAt(0);
        if (firstChar == section) {
            return i;
        }
    }
    return -1;
}

my29 avatar Jun 10 '20 02:06 my29