2016-08-09 11 views
-1

null pointer exceptionとエラーが発生しましたが、私のチェックでは、サイクルフローはOKです。 私はこれが私のMapIdクラスjava.lang.NullPointerException:ヌルオブジェクトリファレンスで仮想メソッド 'int java.lang.Integer.intValue()'を呼び出そうとしました

public class MapId 
    { 
     public static HashMap<String,Integer> mapids = new HashMap<String, Integer>(); 
     public static void setHashMap() 
     {  
      mapids.put("Political Map",R.drawable.indiapoliticalbig); 
      mapids.put("Physical Map",R.drawable.physicalmap); 
      mapids.put("Railway Map", R.drawable.railwaymap); 
      mapids.put("Road Map", R.drawable.roadmap); 
      mapids.put("Tourist Map", R.drawable.touristmap); 
     } 
     public static int getId(String stateName) 
     { 
      return mapids.get(stateName); 
     } 
    } 

これは、我々はこれらのRoad Map & Tourist Mapsethashmap()Railway Mapに3つの新しいエントリを追加し、私のError log

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference 
    at com.compare.IndiaAtlas.MapId.getId(MapId.java:58) 
    at com.compare.IndiaAtlas.IndiaFragment.onCreateView(IndiaFragment.java:62) 
    at android.app.Fragment.performCreateView(Fragment.java:2053) 
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894) 
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
    at android.app.BackStackRecord.run(BackStackRecord.java:834) 
    at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1454) 
    at android.app.FragmentManagerImpl$1.run(FragmentManager.java:447) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5343) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 

である

bitmap = BitmapFactory.decodeResource(getResources(), MapId.getId(mapName)); 
mIndiaBitmapLoadedListener.onIndiaBimapLoaded(bitmap); 
map.setImageBitmapReset(bitmap, true); 

このコードでエラーが出ますはを得るしかし、前のエントリ物理的および政治的地図は適切に実行されています。

私はあなたがこのようなあなたのマップを初期化するべきだと思い
+3

を私はあなたのエラーは 'Integer.intValue(述べているという事実が好き「)nullオブジェクトに関連するコードはどこにも存在しません。重複して閉じることに投票し、できれば文脈がないため投票する。 –

答えて

1

import java.util.Collections; 
import java.util.HashMap; 
import java.util.Map; 

public class MapId { 
    private static Map<String, Integer> mapids; 
    static { 
     mapids = new HashMap<String, Integer>(); 
     mapids.put("Political Map", R.drawable.indiapoliticalbig); 
     mapids.put("Physical Map", R.drawable.physicalmap); 
     mapids.put("Railway Map", R.drawable.railwaymap); 
     mapids.put("Road Map", R.drawable.roadmap); 
     mapids.put("Tourist Map", R.drawable.touristmap); 
     mapids = Collections.unmodifiableMap(mapids); 
    } 
    public static int getId(String stateName) { 
     if (mapids.containsKey(stateName)) { 
      return mapids.get(stateName); 
     } 
     return 0; 
    } 
} 

そしてちょうど使用: MapId.getId("Tourist Map");

+0

型の不一致:Map からHashMap に変換できません。 –

+0

コードを編集しました。 – fernandospr

+0

このコードを使用すると、クラスにエラーが発生します。 –

関連する問題

 関連する問題