Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item

android:layout_centerHorizontal=“true”

android:scaleType=“centerCrop”

android:src=“@drawable/ic_launcher_background”

/>

<TextView

android:id=“@+id/item_company_member_name”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_marginTop=“8dp”

android:layout_below=“@+id/item_company_member_head_image”

android:layout_centerHorizontal=“true”

android:text=“林晓”

android:textSize=“12sp”/>

3、entity.class

/**

  • 作者:created by meixi

  • 邮箱:13164716840@163.com

  • 日期:2018/8/30 10

*/

public class TestEntity {

private String title;

private String https;

private boolean ifshow;

public boolean isIfshow() {

return ifshow;

}

public void setIfshow(boolean ifshow) {

this.ifshow = ifshow;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public String getHttps() {

return https;

}

public void setHttps(String https) {

this.https = https;

}

}

4、adapter.class

public class NewgroupsAdapter extends RecyclerView.Adapter<NewgroupsAdapter.ViewHolder> {

private List entityList;

private Context context;

private OnItemClickListener mOnItemClickListener;

private OnItemClickListenerupd mOnItemClickListenerupd;

private Boolean is_edit = false;

public NewgroupsAdapter(Context context, List list) {

this.context = context;

this.entityList = list;

}

public void setEdit() {//activity刷新adapter方法

is_edit = !is_edit;

notifyDataSetChanged();

}

@Override

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view = LayoutInflater.from(context).inflate(R.layout.item_add_groups_number, null);

ViewHolder holder = new ViewHolder(view);

holder.imageView = (ImageView)view.findViewById(R.id.item_information_choose_image);

holder.textView = (TextView) view.findViewById(R.id.item_company_member_name);

return holder;

}

@Override

public void onBindViewHolder(final ViewHolder holder, final int position) {

final TestEntity entity = entityList.get(position);

if (is_edit) {

holder.imageView.setVisibility(View.VISIBLE);

} else {

holder.imageView.setVisibility(View.GONE);

}

holder.textView.setText(entity.getTitle());//标题

holder.itemView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

mOnItemClickListenerupd.onItemClick(position);

}

});

holder.textView.setOnClickListener(new View.OnClickListener() {//点击删除

@Override

public void onClick(View view) {

if (is_edit) {

}else {

mOnItemClickListener.onItemClick(holder.itemView, position); // 2

}

}

});

}

@Override

public int getItemCount() {

return entityList.size();

}

public class ViewHolder extends RecyclerView.ViewHolder {

public ImageView imageView;

public TextView textView;

public ViewHolder(View view) {

super(view);

}

}

public interface OnItemClickListener {

void onItemClick(View view, int position);

}

public void setOnItemminiClickListener(OnItemClickListener mOnItemClickListener) {//元素点击

this.mOnItemClickListener = mOnItemClickListener;

}

public interface OnItemClickListenerupd {

void onItemClick( int position);

}

public void setOnItemClickListener(OnItemClickListenerupd mOnItemClickListener) {//item点击

this.mOnItemClickListenerupd = mOnItemClickListener;

}

}

5、activity调用详解

private List testEntities = new ArrayList<>();

private RecyclerView recyclerView;

private NewgroupsAdapter newgroupsAdapter;

private void initRecyclerView() {

recyclerView = (RecyclerView)findViewById(R.id.myrecyclerview);

newgroupsAdapter = new NewgroupsAdapter(MainActivity.this, testEntities);

newgroupsAdapter.setOnItemminiClickListener(new NewgroupsAdapter.OnItemClickListener() {

@Override

public void onItemClick( View view,int posi) {

Toast.makeText(MainActivity.this,posi+“”,Toast.LENGTH_LONG).show();

}

});

newgroupsAdapter.setOnItemClickListener(new NewgroupsAdapter.OnItemClickListenerupd() {

@Override

public void onItemClick(int position) {

Toast.makeText(MainActivity.this,position+“max”,Toast.LENGTH_LONG).show();

}

});

// recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 5));//横向布局,九宫格

recyclerView.setLayoutManager(new LinearLayoutManager(this));//竖向布局,默认

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

结语

看到这篇文章的人不知道有多少是和我一样的Android程序员。

35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。

我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。

千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

有了学习的想法就赶快行动起来吧,不要被其他的事情牵绊住了前行的脚步。不要等到裁员时才开始担忧,不要等到面试前一晚才开始紧张,不要等到35岁甚至更晚才开始想起来要学习要进阶。

给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img
千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

有了学习的想法就赶快行动起来吧,不要被其他的事情牵绊住了前行的脚步。不要等到裁员时才开始担忧,不要等到面试前一晚才开始紧张,不要等到35岁甚至更晚才开始想起来要学习要进阶。

给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。
[外链图片转存中…(img-7hU4QFku-1712820922692)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-ojozLRvX-1712820922692)]

  • 17
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值