Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2012, 14:20
squallv
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 5
Antigüedad: 11 años, 5 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();
}


}