android itemView点击监听器奇怪的行为

时间:2016-09-04 16:34:59

标签: android recycler-adapter android-viewholder

我在may recycler适配器中有这个代码,它是从一个传递getActivity()作为适配器构造函数参数的片段创建的。

mAdapter = new OffersAdapter(getActivity());
它工作正常。这是开始目标活动。

然而,突然当我点击列表中的某些项目时,目标活动没有启动但是应用程序的新实例被启动了???它出现在Android Studio Monitor中,具有不同的ID ??

holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {


            Intent intent = new Intent(context, OfferDetails.class);
            final Offer offer = list.get(position);
            intent.putExtra("offer",offer);
            context.startActivity(intent);

        }
    });

1 个答案:

答案 0 :(得分:0)

问题与点击监听器无关 实际上,这是由于滥用parcable对象造成的。额外对象的大小非常大,导致堆栈溢出。因此应用程序再次启动导致描述的行为。 我很乐意将此报告为一个问题:永远不会检查额外数据的大小。如果超出额外数据的大小,并且如果超出限制则抛出异常,这不是更好。