【发布时间】:2017-07-25 13:17:02
【问题描述】:
我的 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()。
我该怎么做?
【问题讨论】:
-
@Prajnan Bhuyan 是的,但是就像我在问题中所说的那样,我不能使用
finish()方法,因为单击位于未扩展Activity类的适配器内。 -
在适配器的构造函数中传递上下文对象,并在您希望完成活动的任何地方调用 context.finish() See this
-
@Prajan 你不能从适配器类@Milan 调用完成你需要从适配器中“提取”点击事件并从活动中设置它......这已经在几个地方得到解决
标签: android list android-activity android-recyclerview exit