繁体   English   中英

Android-在回收站视图中单击项目退出活动

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM