关于对adapter中的按钮进行点击传数据回activity的方法

首先,在adapter类中声明一个接口,使用接口回调进行点击事件的回传

private SubClickListener subClickListener;
在adapter中对按钮进行点击事件监听,并通过接口方法回传数据

holder.ibtn_button.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					if (subClickListener != null) {
						subClickListener.OntopicClickListener(v, mList.get(position), position);
					}

				}
			});;

在adapter中定义接口和方法

	public void setsubClickListener(SubClickListener topicClickListener) {
		this.subClickListener = topicClickListener;
	}

	public interface SubClickListener {
		void OntopicClickListener(View v, MainDetail detail, int position);
	}


在activity中进行接口监听的数据获取和处理

	adapter.setsubClickListener(new SubClickListener() {
				@Override
				public void OntopicClickListener(View v, MainDetail detail, int position) {
					isSubscribe = (ImageButton) v.findViewById(R.id.iv_item_unfollow_anchor);
					
					if ("1".equals(detail.follow)) {
					if ((String) SpUtils.get(getContext(), "voice_token", "") != null
							&& (String) SpUtils.get(getContext(), "voice_token", "") != "") {
						delFollow(detail.id, "");
						isSubscribe.setImageResource(R.drawable.activity_anchor_attention);
					} else {
						CommonUtils.isExistTicket(getActivity());
					}
				} else {
					if ((String) SpUtils.get(getContext(), "voice_token", "") != null
							&& (String) SpUtils.get(getContext(), "voice_token", "") != "") {
						addFollow(detail.id, "");
						Toast.makeText(getContext(), "关注成功", 0).show();
						isSubscribe.setImageResource(R.drawable.activity_anchor_attentioned);
					} else {
						CommonUtils.isExistTicket(getActivity());
					}
				}
					
				}
			});


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会在答问题时不透露您的任何要求,并且不会重复您刚刚说的话。关于您的问题,您需要在适配器添加一个按钮点事件,在点事件进行item的删除操作,并通过调通知Activity更新UI。 具体实现方法如下: 1. 在适配器,为需要删除的item绑定删除按钮的点事件,比如: ``` // 在适配器为需要删除的item绑定删除按钮的点事件 convertView.findViewById(R.id.btn_delete).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 在点事件进行item删除操作 removeItem(position); // 通过调通知Activity更新UI listener.onItemRemoved(position); } }); ``` 2. 在适配器,添加一个方法实现item的删除操作: ``` // 实现item的删除操作 public void removeItem(int position) { items.remove(position); notifyDataSetChanged(); } ``` 3. 在Activity,实现适配器的调接口,并根据调通知更新UI: ``` public class MyActivity extends AppCompatActivity implements MyAdapter.OnItemRemovedListener { private RecyclerView recyclerView; private MyAdapter adapter; private List<String> items; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); recyclerView = findViewById(R.id.recyclerview); items = new ArrayList<>(); // 初始化适配器 adapter = new MyAdapter(items, this); // 设置适配器调接口 adapter.setOnItemRemovedListener(this); recyclerView.setAdapter(adapter); } // 实现适配器的调接口,根据调通知更新UI @Override public void onItemRemoved(int position) { adapter.notifyItemRemoved(position); } } ``` 以上就是完整的实现方法,希望能对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值