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