Tout d'abord, cela s'est avéré être un long post alors s'il vous plaît supporter avec moi car ce n'est pas trop difficile, mais vous devrez peut-être clarifier quelque chose avec moi si je ne l'ai pas expliqué correctement. Donc avec un peu d'aide l'autre jour des gars sur ce forum, j'ai réussi à configurer partiellement ma classe 'mapClass', mais j'ai des problèmes avec elle et son fonctionnement ne fonctionne pas correctement, donc je voudrais de l'aide si possible. Je vais poster le code ci-dessous afin que vous puissiez voir.Android: qui peut m'aider avec la mise en place de ce cours Google Maps s'il vous plaît?
Ce que j'ai obtenu est une classe 'Dundrum' qui configure la liste pour un tableau d'éléments. Puis j'ai une classe 'dundrumSelector' que j'utilise pour configurer les méthodes setOnClickListener() sur les listItems et les lier à leurs vues correctes.
CECI EST MON CLASSE SELECTOR DUNDDRUM ....
public static final int BUTTON1 = R.id.anandaAddressButton;
public static final int BUTTON2 = R.id.bramblesCafeAddressButton;
public static final int BUTTON3 = R.id.brannigansAddressButton;
onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState);
int position = getIntent().getExtras().getInt("position");
if(position == 0){
setContentView(R.layout.ananda);
};
if(position == 1){
setContentView(R.layout.bramblescafe);
};
if(position == 2){
setContentView(R.layout.brannigans);
Button anandabutton = (Button) findViewById(R.id.anandaAddressButton); anandabutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent = new Intent(view.getContext(),MapClass.class);
myIntent.putExtra("button", BUTTON1);
startActivityForResult(myIntent,0);
}
});
Button bramblesbutton = (Button) findViewById(R.id.bramblesCafeAddressButton);
bramblesbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent = new Intent(view.getContext(),MapClass.class);
myIntent.putExtra("button", BUTTON2);
startActivityForResult(myIntent, 0);
}
});
etc etc ....
Alors ce que je n'étais mis en place ints statique pour représenter les touches que vous pouvez voir en haut de cette classe, la raison de ceci est parce que dans mon activité mapClass je veux juste avoir une méthode, parce que la seule chose qui varie est les coordonnées à chaque endroit. ie. Je ne veux pas avoir plus de 100 classes de map faisant essentiellement la même chose à part des coordonnées différentes dans la méthode.
donc ma classe carte est la suivante ...
case DundrumSelector.BUTTON1:
handleCoordinates("53.288719","-6.241179");
break;
case DundrumSelector.BUTTON2:
handleCoordinates("53.288719","-6.241179");
break;
case DundrumSelector.BUTTON3:
handleCoordinates("53.288719","-6.241179");
break;
}
}
private void handleCoordinates(String l, String b){
mapView = (MapView) findViewById(R.id.mapView);
LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);
View zoomView = mapView.getZoomControls();
zoomLayout.addView(zoomView,
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
mapView.displayZoomControls(true);
mc = mapView.getController();
String coordinates[] = {l, b};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint(
(int) (lat*1E6),
(int) (lng*1E6));
mc.animateTo(p);
mc.setZoom(17);
mapView.invalidate();
}
Maintenant, c'est là mon problème. Les événements onClick() ne fonctionnent même pas à partir de listView pour entrer dans les vues correctes. Je dois commenter les méthodes dans 'DundrumSelector' avant de pouvoir entrer dans leurs points de vue.
Et c'est ce que je ne comprends pas, d'abord pourquoi les événements onClick() ne fonctionneront pas, parce que ce n'est même pas sur la prochaine vue où la carte est.
Je sais que c'est un très long post et il pourrait être assez déroutant alors laissez-moi savoir si vous voulez des précisions ..
Pour récapituler, ce que je suis en train de faire est de faire une seule classe met en place les coordonnées de la carte, comme ce que j'essaie de faire dans ma 'mapClass'.
S'il vous plaît quelqu'un peut aider ou suggérer une autre façon de le faire! Merci à tous pour avoir lu ceci.
pourrait vous envoyer toute la classe? ou mieux définir quel code est dans quelle classe? En outre, ce qui ne fonctionne pas exactement? la méthode onClick() n'est jamais appelée? et que faites-vous pour le faire fonctionner? commenter DrumDrumSelector ?? Que voulez-vous dire par commentaire? le code de la classe entière? – RoflcoptrException
Hey Sebi, Donc, ce qui se passe, c'est que je ne suis pas en mesure de cliquer sur des éléments de la liste si j'ai le onClickListeners() codé dans la classe. Il vient juste avec une erreur disant "le programme a planté etc .." Donc je dois commenter (//) les onClickListeners que je définis pour chaque bouton et cela résout le problème. Pour une raison quelconque, il ne les aime pas là-bas? Mais j'ai besoin de ces méthodes afin que je puisse utiliser ma mapClass .. Ce sont les boutons dans chaque vue qui, lorsqu'on clique dessus, m'amènent à un mapView. Désolé si je suis mauvais à expliquer, vous me comprenez? Faites-moi savoir si vous avez besoin de plus d'infos. TY – Capsud