本文整理汇总了Java中com.lqr.adapter.LQRAdapterForRecyclerView.getHeaderAndFooterAdapter方法的典型用法代码示例。如果您正苦于以下问题:Java LQRAdapterForRecyclerView.getHeaderAndFooterAdapter方法的具体用法?Java LQRAdapterForRecyclerView.getHeaderAndFooterAdapter怎么用?Java LQRAdapterForRecyclerView.getHeaderAndFooterAdapter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.lqr.adapter.LQRAdapterForRecyclerView
的用法示例。
在下文中一共展示了LQRAdapterForRecyclerView.getHeaderAndFooterAdapter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setAdapter
import com.lqr.adapter.LQRAdapterForRecyclerView; //导入方法依赖的package包/类
private void setAdapter() {
if (mAdapter == null) {
LQRAdapterForRecyclerView adapter = new LQRAdapterForRecyclerView<Friend>(mContext, mData, R.layout.item_contact) {
@Override
public void convert(LQRViewHolderForRecyclerView helper, Friend item, int position) {
helper.setText(R.id.tvName, item.getDisplayName());
ImageView ivHeader = helper.getView(R.id.ivHeader);
Glide.with(mContext).load(item.getPortraitUri()).centerCrop().into(ivHeader);
String str = "";
//得到当前字母
String currentLetter = item.getDisplayNameSpelling().charAt(0) + "";
if (position == 0) {
str = currentLetter;
} else {
//得到上一个字母
String preLetter = mData.get(position - 1).getDisplayNameSpelling().charAt(0) + "";
//如果和上一个字母的首字母不同则显示字母栏
if (!preLetter.equalsIgnoreCase(currentLetter)) {
str = currentLetter;
}
}
int nextIndex = position + 1;
if (nextIndex < mData.size() - 1) {
//得到下一个字母
String nextLetter = mData.get(nextIndex).getDisplayNameSpelling().charAt(0) + "";
//如果和下一个字母的首字母不同则隐藏下划线
if (!nextLetter.equalsIgnoreCase(currentLetter)) {
helper.setViewVisibility(R.id.vLine, View.INVISIBLE);
} else {
helper.setViewVisibility(R.id.vLine, View.VISIBLE);
}
} else {
helper.setViewVisibility(R.id.vLine, View.INVISIBLE);
}
if (position == mData.size() - 1) {
helper.setViewVisibility(R.id.vLine, View.GONE);
}
//根据str是否为空决定字母栏是否显示
if (TextUtils.isEmpty(str)) {
helper.setViewVisibility(R.id.tvIndex, View.GONE);
} else {
helper.setViewVisibility(R.id.tvIndex, View.VISIBLE);
helper.setText(R.id.tvIndex, str);
}
}
};
adapter.addHeaderView(getView().getHeaderView());
adapter.addFooterView(getView().getFooterView());
mAdapter = adapter.getHeaderAndFooterAdapter();
getView().getRvContacts().setAdapter(mAdapter);
}
((LQRAdapterForRecyclerView) mAdapter.getInnerAdapter()).setOnItemClickListener((lqrViewHolder, viewGroup, view, i) -> {
Intent intent = new Intent(mContext, UserInfoActivity.class);
intent.putExtra("userInfo", DBManager.getInstance().getUserInfo(mData.get(i - 1).getUserId()));//-1是因为有头部
mContext.jumpToActivity(intent);
});
}