[英]How Android Espresso click an item in Recycler View inside Recycler View?
[英]Android - exit activity on item click in recycler view
我的RecyclerView中有一堆列表项。 我为每个项目正确处理了单击,但是单击任何项目时都需要关闭活动。 因为RecyclerView没有setOnItemClickListener
方法,所以我必须在适配器中执行此操作:
@Override
public void onBindViewHolder(final Holder holder, int position) {
// ...
holder.flagNameTextView.setText(arrayList.get(position).getName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Go back to the previous activity
// such as onBackPressed();
}
});
}
但是当然,适配器不会扩展Activity,所以我不能使用onBackPressed()
或finish()
。
我怎样才能做到这一点?
使用以下内容:
全局声明上下文。
Context c;
然后根据您的活动键入上下文。
((YourActivity)c).finish();
希望这可以帮助。
您可以传递活动的引用以抛出适配器构造函数,并调用Activity.finish();。
希望这可以帮助。
对不起我的英语不好。
您可以从flagNameTextView
获取上下文:
((Activity)holder.flagNameTextView.getContext()).finish();
只需使用YourActivityName.this.finish()。
通过添加活动名称,您可以告诉android您想要哪个“ this”。
仅当您的适配器未定义为静态类时,这才起作用。
此外,您可以在RecyclerView适配器中定义类似OnClickListener的接口回调。 然后在Activity中实现此接口,将其传递到适配器中,然后在View的OnClickListner回调中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.