简体   繁体   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()' on a null object reference 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 参考

My code:我的代码:

 @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);
       } });


}

And my public class is:而我的公开 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);

    }

}

whats is the problem?有什么问题? Im search in web, in forums, but im not solve my problem我在论坛中搜索 web,但我没有解决我的问题

Code代码在此处输入图像描述

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

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

It seems that you've a context issue, but as you didn't provide how did you get the context, for now replace it in your view listener with v.getContext() as below:您似乎遇到了上下文问题,但由于您没有提供如何获取上下文,因此现在在您的视图侦听器中将其替换为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);
       } });


}

check your context when start a new Intent, where you get the context, maybe the context still null or not assigned yet在开始一个新的 Intent 时检查你的上下文,你在哪里得到上下文,也许上下文仍然是 null 或尚未分配

java.lang.String android.content.Context.getPackageName()

i'm sure the context is null我确定上下文是 null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 遇到错误 Attempt to invoke virtual method 'RecyclerView.setAdapter(RecyclerView$Adapter)' on a null object reference in Android Studio - Encountered the error Attempt to invoke virtual method 'RecyclerView.setAdapter(RecyclerView$Adapter)' on a null object reference in Android Studio 在RecyclerView适配器中收到“尝试调用虚拟方法”错误。 请查看详细信息 - Getting a 'Attempt to invoke virtual method' error in RecyclerView Adapter. Please see details 尝试调用虚方法 - Attempt to invoke virtual method 无法启动活动:尝试调用虚拟方法 (NullPointerException) - Unable to start activity: Attempt to invoke virtual method (NullPointerException) 尝试在 null object 引用上调用虚拟方法并设置点击侦听器 - Attempt to invoke virtual method on a null object reference with set on click listener 尝试调用虚拟方法Editable - Attempt to invoke virtual method Editable 尝试调用虚方法 (EditText) - Attempt to invoke virtual method (EditText) 尝试在 onClickListener 中调用虚方法 - Attempt to invoke virtual method in onClickListener 尝试在Android上调用虚拟方法 - Attempt to invoke virtual method on Android 遇到在 null object 参考上调用虚拟方法 'void androidx.recyclerview.widget.RecyclerView.setHasFixedSize(boolean)' 的尝试 - Encountering a Attempt to invoke virtual method 'void androidx.recyclerview.widget.RecyclerView.setHasFixedSize(boolean)' on a null object reference
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM