2017-12-03 14 views
-1

私は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)

紛失しているものはありますか?私を助けてください。

+1

'NullPointerException'の' stack-trace'を提供してもよろしいですか? – Izruo

+0

投げられる例外はどれですか?それはあなたがあなたの質問に完全なエラーテキストを投稿した場合に役立ちます。 – Keara

+0

https://stackoverflow.com/help/how-to-ask – dominicoder

答えて

0

parked_addrsはその時点ではnullのようです。

+0

しかし、例外は 'dataa_OLD'変数ラインでスローされます..それは何か他のものを意味するのですか?私はparked_addrs' ArrayList parked_addrs = new ArrayList <>(); parked_addrs = tinyDB.getListString( "paddrslist"); ' – Diksha

関連する問題