0

マップにいくつかのマーカーを描画するために使用されるクラスを実行しようとしています。問題がありますが、これは Java の問題であり、Android の問題ではありません。

マーカーを描画するためのメソッドを定義するヘルパー クラスをインスタンス化するメイン クラスがあります。

private GoogleMap mapa = null;
private MostrarBares pintaBares; //helper class

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tapas);

    mapa = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapaTapas)).getMap();
    mapa.setOnMarkerClickListener(this);
    mapa.setOnInfoWindowClickListener(this);

    if(todos == true)
        pintaBares.addTodosMap(mapa);
    .....

今、私はヘルパークラスを書きます:

public class MostrarBares {
    public void addNo11OnMap(GoogleMap map)
    {
        map.addMarker(new MarkerOptions()
          .position(new LatLng(40.656106,-4.691306))
          .title("El No.11 La Taberna")
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.no11)));
    }

    public void addTodosMap(GoogleMap map)
    {
      addNo11OnMap(map);
    }
}

メソッド pintaBares.addTodosMap(mapa) が呼び出されると、null ポインター例外がスローされます...問題は何ですか?

メソッドを実装したい場合

@Override
public boolean onMarkerClick(Marker marker) 
{
    Toast.makeText(this, marker.getTitle(), Toast.LENGTH_LONG).show();

    return(false);
}

@Override
public void onInfoWindowClick(Marker marker)
{
    Toast.makeText(this, marker.getTitle(), Toast.LENGTH_LONG).show();
}

これらをどこに実装すればよいですか?メインクラスまたはヘルパークラスで?

どうもありがとうございます。

4

1 に答える 1