I'm trying to make a mobile application that puts me on a map the parks of a city. I get them to position them correctly, however, now I would like to put that map on a tab. For this I do the following in the oncreate of the activity of tabs:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
tabHost= (FragmentTabHost) findViewById(android.R.id.tabhost);
tabHost.setup(this, getSupportFragmentManager(),android.R.id.tabcontent);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator(getString R.string.label_listado)),ListadoFragment.class, null);
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator(getString(R.string.label_geoposionar)),MapsFragment.class, null);
}
The MapsFragment class:
public class MapsFragment extends Fragment {
private Callbacks mCallback = null;
public ArrayList<Parque> listado;
public static MapsFragment newInstance() {
MapsFragment fragment = new MapsFragment();
return fragment;
}
public MapsFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View rootView=null;
GoogleMap googleMap=mapa.newInstance(listado);
mapa.newInstance(listado);
mapa.onMapReady(googleMap);
rootView = inflater.inflate(R.layout.activity_maps,
container, false);
return rootView;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
public interface Callbacks {
public void onMapReady(GoogleMap googleMap);
}
}
And the activity of the map:
public class MapsActivity extends android.support.v4.app.FragmentActivity
implements OnMapReadyCallback {
public GoogleMap mMap;
public static String coordenadas="";
public ArrayList<parque> listado;
public GoogleMap newInstance(ArrayList<parque> listado) {
listado=listado;
return mMap;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
Intent intent = getIntent();
onMapReady(mapFragment.getMap());
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
//mMap=((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
ArrayList<parque> listado=listado;
String defecto="";
String[] latlong = bar_defecto.split(" ");
double latitud = Double.parseDouble(latlong[0]);
double longitud = Double.parseDouble(latlong[1]);
LatLng defecto_latlong=new LatLng(latitud,longitud);
LatLng coordenadas;
for(int x=0;x<listado.size();x++) {
parque p = listado.get(x);
coordenadas = bar.getmCoordenadas();
if (coordenadas.compareTo("-")!=0 && coordenadas!=null && bar.getmNombre()!=null) {
latlong = coordenadas.split(" ");
latitud = Double.parseDouble(latlong[0]);
longitud = Double.parseDouble(latlong[1]);
coordenadasBar = new LatLng(latitud, longitud);
mMap.addMarker(new MarkerOptions().position(coordenadas).title(bar.getmNombre()));
}
}
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(defecto_latlong,
12.0f));
}
}
How can you insert a map on a tab?