当前位置: 首页 > 知识库问答 >
问题:

单击回收查看新活动错误尝试调用虚拟方法

郝乐心
2023-03-14

我需要帮助,点击回收人员视图并打开新的动作,我点击了项目列表关闭应用程序和logcat错误是:java.lang.NullPointerExc0019:尝试调用虚拟方法java.lang.字符串android.content.Context.getPackageName()'在一个空对象引用

我的代码:

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


}

我的公共课程是:

public class estadoView extends RecyclerView.ViewHolder {
    private TextView  txtnombreMostrar;

    RelativeLayout parentLayout;


    public estadoView(@NonNull View itemView) {
    super(itemView);
    txtnombreMostrar = itemView.findViewById(R.id.txtNombreMostrar);

    }

}

什么是问题?我在网上搜索,在论坛,但我不能解决我的问题

共有2个答案

蓬意致
2023-03-14

当开始一个新的Intent时,检查你的上下文,在那里你得到了上下文,也许上下文仍然为空或者还没有分配

java。字符串Android。所容纳之物上下文getPackageName()

我确信上下文是空的

云隐水
2023-03-14

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


}
 类似资料: