マップメソッド(showmap、addmarkerなど)を処理するクラスを作成しようとしていますが、これらのメソッドをアクティビティまたはフラグメントで呼びますが、エラー:コンテキストgetResources()、リソースを見つけることができません
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
私はそれが何を意味するのか知っていますが、私はそれを解決できません。
誰かが私を助けてくれることを願っています。ここで
は、マップcalssです:
public class MapHandle extends AppCompatActivity implements LocationListener {
private SupportMapFragment mapFragment;
private GoogleMap map;
public void initMap() {
mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
if (mapFragment != null) {
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap map) {
createMap(map);
}
});
} else {
Toast.makeText(this, "Error - Map Fragment was null!!", Toast.LENGTH_SHORT).show();
}
}
public void createMap(GoogleMap googleMap) {
map = googleMap;
if (map != null) {
// Map is ready
Toast.makeText(this, "Map Fragment was loaded properly!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Error - Map was null!!", Toast.LENGTH_SHORT).show();
}
}
}
そして、ここで私が活動中でそれを呼び出す:
public class FragOne extends Fragment {
MapHandle mh;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mh = new MapHandle();
mh.initMap();
return inflater.inflate(R.layout.frag1,container,false);
}
}
もっと見るstacktrace –
'MapHandle'は独自のレイアウトを持っていますか?あなたはこの活動をいつでも開いていますか? –