![](/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.