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

Android - exit activity on item click in recycler view

我的 RecyclerView 中有一堆列表项。我正在正确处理每个项目的点击,但我需要在单击任何项​​目时关闭 activity。因为 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;

然后使用 activity.

类型转换上下文
((YourActivity)c).finish();

希望对您有所帮助。

您可以传递 activity 的引用,抛出适配器构造函数并调用 Activity.finish();

希望对您有所帮助。

对不起我的英语。

您可以从 flagNameTextView 中获取上下文:

((Activity)holder.flagNameTextView.getContext()).finish();  

只需使用 YourActivityName.this.finish()。

通过添加 Activity 名称,您可以告诉 android 您想要哪个 "this"。

这仅在您的适配器未定义为静态时有效 class。

另外,你可以在RecyclerView adapter中定义一个接口回调,比如OnClickListener。然后在Activity中实现这个接口,传入adapter中,然后在View的OnClickListner回调中使用。