簡體   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