我有一个称为EventHolder的RecyclerHolder,可在多种布局中使用。它在一项活动中完美运行。 在第二个活动中,虽然RecyclerView正确显示了所有内容,但是当我单击列表中的一项以尝试移至“ ViewSingleEvent”活动时,它将引发空指针异常。我不知道为什么会这样,尤其是因为它适用于第一种布局。
EventHolder类中的代码:
setState
第 @Override
public void onClick(View v) {
//handle the on click event for the ViewHolder - get single event details and switch activity
if (this.event != null) {
//getting the ID of the particular event clicked
String indEventId = this.event.id;
//using an intent to pass data between values
Intent i = new Intent(context, ViewSingleEvent.class); //nullpointerexception here
i.putExtra("id",indEventId);
context.startActivity(i);
}
}
行包含错误。这与获取第二个活动的上下文有关吗?请帮忙。
ALSO::我已经看过多个类似的NullPointerException问题,也没有找到我的问题的答案,所以请不要将此问题标记为重复-我很困惑。
编辑:来自获得上下文的EventHolder类中的代码。
Intent i = new Intent(context, ViewSingleEvent.class);
我认为这是我从第一个活动(有效的活动)传递上下文的方式:
private Context context;
public EventHolder(final Context context, View itemView) {
super(itemView);
this.context = context;
这是我为无效的代码所做的。请注意,这是一个片段,而不是活动。
//declaring the layout manager
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
eventsListview.setLayoutManager(layoutManager);