![](/img/trans.png)
[英]Encountered the error Attempt to invoke virtual method 'RecyclerView.setAdapter(RecyclerView$Adapter)' on a null object reference in Android Studio
[英]Click recyclerView new activity Error Attempt to invoke virtual method
I need help, for onclick on recyclerview and open new actity, im clicked in item list close app and logcat error is: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName( )' 在 null object 参考
我的代码:
@Override
public void onBindViewHolder(final estadoView estadoView, final int i) {
final Estado estado = estadoList.get(i);
estadoView.txtnombreMostrar.setText(estado.getStateName());
estadoView.txtnombreMostrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, Invernadero.class);
context.startActivity(intent);
} });
}
而我的公开 class 是:
public class estadoView extends RecyclerView.ViewHolder {
private TextView txtnombreMostrar;
RelativeLayout parentLayout;
public estadoView(@NonNull View itemView) {
super(itemView);
txtnombreMostrar = itemView.findViewById(R.id.txtNombreMostrar);
}
}
有什么问题? 我在论坛中搜索 web,但我没有解决我的问题
您似乎遇到了上下文问题,但由于您没有提供如何获取上下文,因此现在在您的视图侦听器中将其替换为v.getContext()
,如下所示:
@Override
public void onBindViewHolder(final estadoView estadoView, final int i) {
final Estado estado = estadoList.get(i);
estadoView.txtnombreMostrar.setText(estado.getStateName());
estadoView.txtnombreMostrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), Invernadero.class);
v.getContext().startActivity(intent);
} });
}
在开始一个新的 Intent 时检查你的上下文,你在哪里得到上下文,也许上下文仍然是 null 或尚未分配
java.lang.String android.content.Context.getPackageName()
我确定上下文是 null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.