什么错误尝试在空对象引用上调用虚拟方法'java.lang.String android.content.Context.getPackageName()'[重复]
Posted
技术标签:
【中文标题】什么错误尝试在空对象引用上调用虚拟方法\'java.lang.String android.content.Context.getPackageName()\'[重复]【英文标题】:what Error Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference [duplicate]什么错误尝试在空对象引用上调用虚拟方法'java.lang.String android.content.Context.getPackageName()'[重复] 【发布时间】:2021-07-01 05:30:05 【问题描述】:当我使用回收器适配器时,不会显示任何错误,但是当我使用回收器选项时,当我搜索时会显示错误,然后结果将显示片段使用。
//code
@Override
protected void onBindViewHolder(@NonNull myViewHolder holder, int i, @NonNull Itemmodel itemmodel)
String quantity=itemmodel.getPquantityet();
String id=itemmodel.getProductid();
String priceavailable=itemmodel.getPriceavailable();
holder.titletv.setText(itemmodel.getProductname());
holder.descriptiontv.setText(itemmodel.getPdescription());
holder.quantitytv.setText(quantity);
holder.pricetv.setText(itemmodel.getPprice());
/* if(priceavailable.equals("true"))
holder.pricetv.setText(modelitem.getPprice());
else
holder.pricetv.setVisibility(View.GONE);
*/
if(Integer.parseInt(quantity)<=5)
holder.dangerpic.setVisibility(View.VISIBLE);
else
holder.dangerpic.setVisibility(View.GONE);
holder.itemView.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// Error is on Intent
Intent intent=new Intent(context,BilActivity.class);
intent.putExtra("id",id);
context.startActivity(intent);
);
【问题讨论】:
【参考方案1】:似乎context
为空。不知道为什么(也许你在重构过程中犯了一个错误)但也许试试这个来测试它是否有效?
Intent intent=new Intent(holder.itemView.context,BilActivity.class);
intent.putExtra("id",id);
holder.itemView.context.startActivity(intent); //You might have to cast this to an activity.
【讨论】:
谢谢先生,我用 get context() 替换了上下文,它可以工作以上是关于什么错误尝试在空对象引用上调用虚拟方法'java.lang.String android.content.Context.getPackageName()'[重复]的主要内容,如果未能解决你的问题,请参考以下文章
数据库错误:尝试在空对象引用上调用虚拟方法“Cursor .getScene()”[重复]
NullPointerException 错误尝试在空对象引用上调用虚拟方法错误
尝试在空对象引用上调用虚拟方法“void android.hardware.Camera.stopPreview()”
数据库错误:“NullPointerException:尝试在空对象引用上调用虚拟方法 getApplicationInfo()...”[重复]
错误 - 尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getHeight()”