私はthisを私の問題として読んで、修正しようとしました。しかし、NullPointerException
のエラーは起こっていません。
変数dataa
は、私が以前のアクティビティと変数dataa_OLD
から得ているもので、TinyDB
から取得しています。私はHashMap
データリストをSharedpreferencesに格納するためにthis answer on SOを参照しました。初期化されたArrayListオブジェクトのNullPointerException
...
List<Map<String, String>> dataa= new ArrayList<>();
List<Map<String, String>> dataa_OLD= new ArrayList<>();
Map<String, String> mapp = new HashMap<String, String>();
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
//Retrieving HashMap-lists from TinyDB
Gson gson = new Gson();
String mapListString= tinyDB.getString("DATA");
String mapListStringOLD= tinyDB.getString("DATA_OLD");
Type type = new TypeToken<ArrayList<Map<String,String>>>() {}.getType();
dataa = gson.fromJson(mapListString,type);
dataa_OLD = gson.fromJson(mapListStringOLD,type);
if(dataa.size()!=0) {
for (Map<String, String> map : dataa) {
parked_addrs.add(map.get("ADDRS"));//adding address part in another list
}
tinyDB.putListString("paddrslist", parked_addrs);
if(dataa_OLD!=null) {
for (Map<String, String> map : dataa) { //adding new-list in old-list one by one
mapp.put("ADDRS", map.get("ADDRS"));
mapp.put("DATE", map.get("DATE"));
dataa_OLD.add(mapp);
}
}
else {
mapp.put("ADDRS","");
mapp.put("DATE","");
dataa_OLD.add(0,mapp);
dataa_OLD.addAll(dataa); // Line on which getting the error
}
}
stack-trace
致命的な例外:メイン プロセス:com.example.acer.mylocationmap、PID:30082 java.lang.RuntimeException:活性ComponentInfoを{開始できませんcom.example.acer.mylocationmap/com.example.acer.mylocationmap.DisplayStorageActivity}:java.lang.NullPointerException:インタフェースメソッド 'void java.util.List.add(int、java.lang.Object)'を呼び出しようとしています〜 android.app.ActivityThread.access $ 1000〜android.app.ActivityThread.handleLaunchActivityでandroid.app.ActivityThread.performLaunchActivityでULLオブジェクト参照 (ActivityThread.java:3190) (ActivityThread.java:3300) (ActivityThread.java: 211) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1705) (android.os.Handler.dispatchMessage(Handler.java:102)) (android.os.Looper.loop(Looper.java: 145) android.app.ActivityThread.main(ActivityThread.java:6946) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInitでcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1404) でjava.lang.reflect.Method.invoke(Method.java:372) で(null)オブジェクトの参照でインタフェースメソッド 'void java.util.List.add(int、java.lang.Object)'を呼び出そうとしました at:(Instrumentation.java:1134)の にあります。 android.app.ActivityThread.performの android.app.ActivityThread $ Hでandroid.app.ActivityThread.access $ 1000(ActivityThread.java:211) でandroid.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) でLaunchActivity(ActivityThread.java:3143) .handleMessage(ActivityThread.java:1705) とandroid.os.Handler.dispatchMessage(Handler.java:102) とandroid.os.Looper.loop(Looper.java:145) とandroid.app.ActivityThread.main (ActivityThread.java:6946) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:372) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit。java:1199)
紛失しているものはありますか?私を助けてください。
'NullPointerException'の' stack-trace'を提供してもよろしいですか? – Izruo
投げられる例外はどれですか?それはあなたがあなたの質問に完全なエラーテキストを投稿した場合に役立ちます。 – Keara
https://stackoverflow.com/help/how-to-ask – dominicoder