Foros del Web » Programación para mayores de 30 ;) » Java »

Problema al usar un metodo de una clase en otra

Estas en el tema de Problema al usar un metodo de una clase en otra en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/12/2012, 14:20
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 5
Antigüedad: 11 años, 4 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();
}


}
  #2 (permalink)  
Antiguo 10/12/2012, 02:29
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema al usar un metodo de una clase en otra

Para usar un método de otra clase tienes que crear un objeto de la otra clase. y llamar al objeto.metodo().

Por otra parte, si no necesitas crear una instancia (el objeto) de esa clase, puedes declarár el método como static y llamar NombreClase.metodo().
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 10/12/2012, 03:44
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema al usar un metodo de una clase en otra

podrias revisar un poco mi codigo?, tambien he detectado que no coge los datos bien de la base de datos, ya que en el log cat me saltan las excepciones puestas en el codigo. Alguien puede echarme una mano?

Etiquetas: clase, jar, metodo, programa, string, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:06.