织梦CMS - 轻松建站从此开始!

沙龙国际网上娱乐亚洲第一品牌-www.salon365.com

(沙龙国际亚洲第一品牌) RecyclerView 在 notifyItemI

时间:2017-07-17 22:12来源:未知 作者:admin 点击:
我的代码描述 RecyclerView 的 Adapter 中 onBindViewHolder 方法中,我为 viewHolder.itemView 注册了 setOnLongClickListener 事件,功能是数据源add一个item,然后调用notifyItemInserted(position)。 我的代码片段

我的代码描述

RecyclerView 的 Adapter 中 onBindViewHolder 方法中,我为 viewHolder.itemView 注册了 setOnLongClickListener 事件,功能是数据源add一个item,然后调用notifyItemInserted(position)。

我的代码片段

public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    viewHolder.mTextViewTitle.setText(datas.get(position).Title);
    viewHolder.mTextViewContent.setText(datas.get(position).Content);
    viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(v.getContext(), "haha"   position, Toast.LENGTH_SHORT).show();
            datas.get(position).Title = "被点的改变了!";
            notifyItemChanged(position);
        }
    });
    viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            datas.add(position, new NewsEntity("我是新来的!", "请多多指教!"));
            notifyItemInserted(position);
            Toast.makeText(viewHolder.itemView.getContext(), "Position:"   position, Toast.LENGTH_SHORT).show();
            return true;
        }
    });
}

出现的问题

在第三个item上长按(position=2),会在前面插入一个item,那么被长按的那个我理解的是应该 position 1 =3 ,而事实上我再长按一次时Toast出的position没有变化,还是2。
请问是我代码写的有问题,还是事实就是这样,如果事实是这样的话,我怎么才能让position加1.

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容