1.導(dǎo)入依賴 androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’, { exclude group: ‘com.android.support’, module: ‘support-annotations’ }) 2.adapter適配器 public class StickyExampleAdapter extends RecyclerView.Adapter<StickyExampleAdapter.RecyclerViewHolder> { //第一個吸頂 private static final int FIRST_STICKY_VIEW = 1; //別的吸頂 public static final int HAS_STICKY_VIEW = 2; //正常View public static final int NONE_STICKY_VIEW = 3; private final LayoutInflater mInflate; private final List datas;
public StickyExampleAdapter(Context context, List<NewsBean> datas) {mInflate = LayoutInflater.from(context);this.datas = datas;
}@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View inflate = mInflate.inflate(R.layout.item_ui, parent, false);return new RecyclerViewHolder(inflate);
}@Override
public void onBindViewHolder(RecyclerViewHolder holder, int position) {NewsBean stickyBean = datas.get(position);holder.tvName.setText(stickyBean.name);holder.tvGender.setText(stickyBean.autor);if (position == 0) {holder.tvStickyHeader.setVisibility(View.VISIBLE);holder.tvStickyHeader.setText(stickyBean.sticky);holder.itemView.setTag(FIRST_STICKY_VIEW);} else {if (!TextUtils.equals(stickyBean.sticky, datas.get(position - 1).sticky)) {holder.tvStickyHeader.setVisibility(View.VISIBLE);holder.tvStickyHeader.setText(stickyBean.sticky);holder.itemView.setTag(HAS_STICKY_VIEW);} else {holder.tvStickyHeader.setVisibility(View.GONE);holder.itemView.setTag(NONE_STICKY_VIEW);}}//通過此處設(shè)置ContentDescription,作為內(nèi)容描述,可以通過getContentDescription取出,功效跟setTag差不多。holder.itemView.setContentDescription(stickyBean.sticky);
}@Override
public int getItemCount() {return datas == null ? 0 : datas.size();
}public class RecyclerViewHolder extends RecyclerView.ViewHolder {TextView tvStickyHeader;RelativeLayout rlContentWrapper;TextView tvName;TextView tvGender;ImageView imgs;RecyclerViewHolder(View itemView) {super(itemView);tvStickyHeader = (TextView) itemView.findViewById(R.id.tv_sticky_header_view);rlContentWrapper = (RelativeLayout) itemView.findViewById(R.id.rl_content_wrapper);tvName = (TextView) itemView.findViewById(R.id.name);tvGender = (TextView) itemView.findViewById(R.id.auto);imgs = itemView.findViewById(R.id.imags);}
}
}
3.MainActivity public class MainActivity extends AppCompatActivity implements IView {