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

时间:2017-03-05 18:56:25

标签: android list android-activity android-recyclerview exit

我的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();
        }
    });
}

但当然,适配器不会扩展活动,因此我无法使用onBackPressed()finish()

我该怎么做?

5 个答案:

答案 0 :(得分:2)

使用以下内容:

全局声明上下文。

Context c;

然后用你的活动打字投射上下文。

((YourActivity)c).finish();

希望这有帮助。

答案 1 :(得分:1)

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

希望这有助于。

抱歉我的英文。

答案 2 :(得分:0)

您可以从flagNameTextView

获取上下文
((Activity)holder.flagNameTextView.getContext()).finish();  

答案 3 :(得分:0)

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

通过添加活动名称,你告诉android你想要哪个“这个”。

仅当您的适配器未定义为静态类时才会起作用。

答案 4 :(得分:0)

此外,您可以在RecyclerView适配器中定义类似OnClickListener的接口回调。然后在Activity中实现此接口,将其传递给适配器,然后在View的OnClickListner回调中使用它。