繁体   English   中英

点击recyclerView new activity Error Attempt to invoke virtual method

[英]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,但我没有解决我的问题

代码在此处输入图像描述

日志猫在此处输入图像描述

上下文是 null,如何解决? 在此处输入图像描述

您似乎遇到了上下文问题,但由于您没有提供如何获取上下文,因此现在在您的视图侦听器中将其替换为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM