09/12/2012, 14:20
|
| | Fecha de Ingreso: diciembre-2012 Ubicación: España
Mensajes: 5
Antigüedad: 11 años, 11 meses Puntos: 0 | |
Problema al usar un metodo de una clase en otra Hola a todos, soy bastante nuevo en esto de la programacion y estoy atascado en esto. Mi problema es que quiero usar un metodo de una clase en la clase principal, pero al intentar ponerlo como nombre_de_la_clase.metodo() me da fallo. A continuacion os dejo el codigo por si me podeis ayudar. Un saludo y gracias =).
Esta es la clase principal
<code>
public class MainActivity extends MapActivity {
private MapView mapView;
private MapController myMapController;
private List<Overlay> mOverlays;
public ArrayList<Negocio> listaComercios;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
myMapController = mapView.getController();
mOverlays = mapView.getOverlays();
GeoPoint centro = new GeoPoint((int)(37.77777 * 1E6), (int)(-3.789968 * 1E6));
myMapController.setCenter(centro);
myMapController.setZoom(14);
listaComercios=hacerConexion("3"); //Aqui quiero usar un metodo de la otra clase
Consmapas markers = new Consmapas(getResources().getDrawable(R.drawable.ma rcador_google_maps), this);
markers.addAllParadas(listaComercios); //Aqui tambien quiero usar un metodo de la otra clase
mOverlays.add(markers);
mapView.postInvalidate();
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
</code>
Y esta la clase de la que quiero coger los metodos
<code>
public class Consmapas extends ItemizedOverlay<OverlayItem> {
private List<OverlayItem> mOverlays;
private Context mContext;
public ArrayList<Negocio> hacerConexion (String tipo){
String result = "";
Negocio negocioNuevo = null;
ArrayList<Negocio> listaNegocios = new ArrayList<Negocio>() ;
//.................................................. ..................
//parse json data
try{
JSONArray jarray = new JSONArray(result);
try{
for(int i=0 ; i<jarray.length() ; i++) {
JSONObject ob = jarray.getJSONObject(i);
String titulo = ob.getString("title");
String cate = ob.getString("catid");
int cat = Integer.parseInt(cate);
String coord = ob.getString("extra_fields_search");
String latitud = coord.substring(0, 9);
int lat = (Integer.parseInt(latitud)*1000000);
String longitud = coord.substring(10, 19);
int lon = (Integer.parseInt(longitud)*1000000);
GeoPoint point = new GeoPoint(lat, lon);
negocioNuevo = new Negocio(titulo, cat, point);
listaNegocios.add(negocioNuevo);
addAllNegocios(listaNegocios);
}
}catch(Exception e){
Log.e("miError", "Error parsing data "+e.toString());
}
}catch(JSONException e){
Log.e("miError", "Error parsing data "+e.toString());
}
return listaNegocios;
}
public Consmapas(Drawable defaultMarker,Context context) {
super(boundCenter(defaultMarker));
mOverlays =new ArrayList<OverlayItem>();
mContext = context;
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
public void addAllNegocios(ArrayList<Negocio> listaNegocios){
for(int o=0; o<listaNegocios.size();o++){
Negocio prueba = listaNegocios.get(o);
String Titulo = prueba.getTitulo();
int Categoria = prueba.getCategoria();
GeoPoint Punto = prueba.getPunto();
OverlayItem overlayitem = new OverlayItem(Punto, "Categoria: "+Categoria, Titulo);
addOverlay(overlayitem);
}
populate();
}
} |