Хорошо, вот что у меня есть.
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);
startActivityForResult(myIntent,0);
}
});
Этот метод открывает мой класс MapClass, который на данный момент я только что установил, чтобы показать местоположение одного места.
Но у меня есть множество кнопок, и вместо того, чтобы создавать множество разных классов mapClass для каждой кнопки, мне интересно, могу ли я просто использовать один класс и в зависимости от того, какая кнопка 'id' нажата, она проверит if Statement ', а затем вставьте правильные координаты в метод для отображения карты. Это было бы намного аккуратнее, чем 20-30 классов.
Я не уверен, объяснил ли я это правильно, так что если нет, дайте мне знать.
Спасибо за любую помощь.
Это мой класс карты сейчас ...
public class MapClass extends MapActivity {
MapView mapView;
MapController mc;
GeoPoint p;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
int button = getIntent().getExtras().getInt("button", -1);
switch(button){
case DundrumSelector.BUTTON1:
handleCoordinates("53.288719","-6.241179");
break;
case DundrumSelector.BUTTON2:
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();
}
и тогда моя другая деятельность -
public static final int BUTTON1 = R.id.anandaAddressButton;
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);
}
});
По какой-то причине, когда я пытаюсь щелкнуть любой другой элемент в списке, кроме BUTTON1, происходит сбой программы. Мне пришлось убрать BUTTON2, BUTTON3 и т. Д., Потому что он просто продолжает падать, если я пытаюсь перейти к их мнению. но когда я закомментирую этот метод onClick, они все будут работать нормально?
У кого-нибудь из вас есть какие-нибудь открытия? Ты понимаешь мою проблему?
Благодаря.