首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用在回收视图中单击的适配器位置获取数据?

如何使用在回收视图中单击的适配器位置获取数据?
EN

Stack Overflow用户
提问于 2018-06-17 11:46:41
回答 1查看 45关注 0票数 1

我需要获得数据,特别是行Id,这是我以前在Recyclerview中设置为textview的。

在这里,我得到了我留下的适配器的位置,我使用它滑动了.by,我希望获得以前设置的隐藏id,并删除SQlite中的数据。

RecyclerviewAdapter.java

代码语言:javascript
运行
复制
public class RecyclerviewAdapter_list extends RecyclerView.Adapter<RecyclerviewAdapter_list.MyViewHolder> {

    private Context mContext;
    private List<myAlarms> myAlarmsdata;
    Database_Helper database_helper;

    public RecyclerviewAdapter_list(Context mContext, List<myAlarms>myAlarmsdata){
        this.mContext = mContext;
        this.myAlarmsdata =myAlarmsdata;
    }
    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        view = inflater.inflate(R.layout.cardview_alarm, parent, false);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        myAlarms myAlarms =myAlarmsdata.get(position);

        String mTimeSplit = myAlarms.getALARM_TIME();
        SpannableString mtime=  new SpannableString(mTimeSplit);
        mtime.setSpan(new RelativeSizeSpan(2f), 0,5, 0);
        holder.mTime.setText(mtime);

        holder.mTitle.setText(myAlarms.getALARM_TITLE());
        holder.mTitle.setTag(myAlarms.getALARM_ID());

        String mStatus = myAlarms.getALARM_STATUS();
        if(mStatus.equals("Active") && !holder.mbtn.isChecked()){
            holder.mbtn.setChecked(true);
        }else{
            holder.mbtn.setChecked(false);
        }
    }

    @Override
    public int getItemCount() {
        return myAlarmsdata.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        TextView mTime,mTitle;
        com.suke.widget.SwitchButton mbtn;
        public RelativeLayout viewBackground;
        public RelativeLayout viewForeground;
        public MyViewHolder(View itemView) {
            super(itemView);

            mTime = (TextView) itemView.findViewById(R.id.mTime);
            mTitle = (TextView) itemView.findViewById(R.id.mTitle);
            mbtn = (com.suke.widget.SwitchButton)itemView.findViewById(R.id.mbtn);
            viewBackground = itemView.findViewById(R.id.view_background);
            viewForeground = itemView.findViewById(R.id.view_foreground);
            database_helper = new Database_Helper(mContext);

            mbtn.setOnCheckedChangeListener(new SwitchButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(SwitchButton view, boolean isChecked) {

                    if(isChecked == false) {
                        String mStatus = "InActive";
                        Integer mRowId = (Integer) mTitle.getTag();
                        database_helper.updateStatus(mRowId,mStatus);
                    }else{
                        if(isChecked == true){
                            String mStatus = "Active";
                            Integer mRowId = (Integer) mTitle.getTag();
                            database_helper.updateStatus(mRowId,mStatus);
                        }
                    }
                }
            });
        }
    }
    public void removeItem(int position) {
        myAlarmsdata.remove(position);
        notifyItemRemoved(position);

       //need to get the data by using the adapter position
    }

}

有人能帮我用适配器的位置来获取数据吗..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-17 11:53:07

你把它放在myAlarmsdata里了。

代码语言:javascript
运行
复制
public void removeItem(int position) {
    myAlarms myAlarms = myAlarmsdata.get(position);
    int id = myAlarms.getALARM_ID();

    myAlarmsdata.remove(position);
    notifyItemRemoved(position);

   // use id to get the data by using the adapter position
}

我没猜错你吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50896311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档