对不起,我知道这是一个可重复的问题,但我遵循these步骤
对于这种情况,但我不知道为什么这个Object实际上是null这里是我的logcat错误
ln -s /mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe node_modules/puppeteer/.local-chromium/linux-515411/chrome-linux/chrome
我认为此行中的错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.ArrayList.get(int)' on a null object reference
at abtech.waiteriano.com.waitrer.MenuActivity$8.onClick(MenuActivity.java:386)
我认识到此变量 String st = "insert into ChecksItems (Check_ID,Item_ID,QTY,UnitPrice,TotalPrice,DicountValue,Tax_Value,Adj_Value,NetPrice,Serial,Fired,Fired_Time,Voided,Voided_Time,Voided_Reason,Completed_Time,P_On_Check,Complement,Status,IsModifier,Ref_Mod_Item,IsAssimbly,Ref_Ass_Item,Taxable,NoServiceCharge,Num_Fired,Num_Print,Server_ID,P_On_Report,Check_ID_Combine,Round_Check_Fired,Void_Effect_Invn,Promo_ID,Orig_Price,Officer,Comp_Reason_ID,End_Serial_Count,Discount_ID,Disc_Reason_ID,Hold,Hold_Time,Voided_By,Comp_By,Disc_By) values" +
" (" + TablesFragment.Check_Items.get("Check_ID").get(i).toString() + "," + TablesFragment.Check_Items.get("Item_ID").get(i).toString() + "," + TablesFragment.Check_Items.get("QTY").get(i).toString() + "," + TablesFragment.Check_Items.get("UnitPrice").get(i).toString() + "," + ........";
中的错误
作为这个变量我初始化像
Check_Items
在其他java类中 我像这样使用这个变量:
public static Hashtable<String, ArrayList<Object>> Check_Items = new Hashtable<String, ArrayList<Object>>();
这只是一个很长的类包含很多代码,但我认为我发布的这段代码对于解决这个案例非常有用 我还需要一个解决方案来避免这种类型的错误,更清楚的例子是因为我认为我的项目中有很多错误,比如这种类型的错误 对不起,任何想法都不够清楚,对不起我提出的可重复的问题 如果需要更多代码的信息,请告诉我
答案 0 :(得分:0)
问题是TablesFragment.Check_Items.get("Check_ID")
返回null。你在那个空对象上调用get(i)。
在表格中输入值TablesFragment.Check_Items.put("Change_Temp", Valrows);
但是你永远不会把一个列表与密钥&#34; Check_ID&#34;并且导致了这个问题。
您也可以尝试遵循java代码转换。它将使您的代码对您和您的同事更具可读性;)