Java 对象在Arraylist中的Defalut add Card中设置为空
我在所有应用程序中使用查看列表购物车创建默认类Java 对象在Arraylist中的Defalut add Card中设置为空,java,android,Java,Android,我在所有应用程序中使用查看列表购物车创建默认类 public class Default extends Application { public ArrayList<Card> listCard; public ArrayList<Card> getListCard() { return listCard; } public void setListCard(ArrayList<Ca
public class Default extends Application {
public ArrayList<Card> listCard;
public ArrayList<Card> getListCard() {
return listCard;
}
public void setListCard(ArrayList<Card> listCard) {
this.listCard = listCard;
}
}
公共类默认扩展应用程序{
公共ArrayList列表卡;
公共阵列列表getListCard(){
返回列表卡;
}
公共作废setListCard(ArrayList listCard){
this.listCard=listCard;
}
}
下次什么时候
public class ScanQrCodeActivity extends AppCompatActivity {
private ArrayList<Card> cardList;
公共类ScanQrCodeActivity扩展了AppCompatActivity{
私人ArrayList卡片列表;
if(hotpValue.equals(passwordHotp)){
Card Card=新卡(路径3,base32,名片,intervalTotp,passwordHotp,getDate(),expirationDate,hotpValue);
默认应用程序=(默认)getApplicationContext();
cardList=app.getListCard();
cardList.add(card);//显示错误行代码
应用程序设置列表卡(卡片列表);
cardList=newarraylist();
cardList=app.getListCard();
System.out.println(“dodanokart”+card.getNameCard());
}
见日志
进程:com.novum.smrtkarta,PID:13844
java.lang.NullPointerException:尝试调用虚拟方法
空对象上的“boolean java.util.ArrayList.add(java.lang.Object)”
参考
在
com.xxxx.smrtkarta.activity.ScanQrCodeActivity$3$1.run(ScanQrCodeActivity.java:277)
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:148)
位于android.app.ActivityThread.main(ActivityThread.java:5417)
位于java.lang.reflect.Method.invoke(本机方法)
在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
我做错了什么?这里的
cardList
为空。在调用getListCard
方法之前,请确保您已在Default
类中初始化了listCard
,您必须更改此方法
更改:
ArrayList列表卡
致:
ArrayList list=新的ArrayList;
在class Defult?中更改此行可能重复
if (hotpValue.equals(passwordHotp)) {
Card card = new Card(path3, base32, nameCard, intervalTotp, passwordHotp, getDate(), expirationDate, hotpValue);
Default app = (Default) getApplicationContext();
cardList = app.getListCard();
cardList.add(card); // show error line code
app.setListCard(cardList);
cardList = new ArrayList<Card>();
cardList= app.getListCard();
System.out.println("Dodanokarte"+card.getNameCard());
}
ArrayList<Card> listCard
ArrayList<Card> list = new ArrayList<Card>;