Во-первых, это оказалось довольно длинным постом, поэтому, пожалуйста, потерпите меня, поскольку это не так уж сложно, но вам, возможно, придется кое-что уточнить со мной, если я не объяснил это правильно.
Итак, с некоторой помощью на днях от ребят на этом форуме, мне удалось частично настроить мой класс 'mapClass', но у меня возникли проблемы с ним, и он работает неправильно, поэтому я хотел бы получить некоторую помощь, если это возможно. Я опубликую код ниже, чтобы вы могли видеть.
То, что я получил, это класс 'Dundrum', который устанавливает listView для массива элементов.
Затем я получил класс 'dundrumSelector', который я использую для установки методов setOnClickListener () в listItems и связывания их с их правильными представлениями.
Это мой класс селектора 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;
public void onCreate (Bundle saveInstanceState) {
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);
}
});
и т. Д. И т. Д. *
Тогда я установил статические целые для представления кнопок, которые вы видите в верхней части этого класса, причина этого в том, что в моей деятельности mapClass я просто хочу иметь один метод, потому что единственное, что меняется координаты каждого места.
то есть. я не хочу, чтобы более 100 классов карт делали в методе одно и то же, кроме разных координат.
Итак, мой класс карты выглядит следующим образом ...
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();
}
Теперь вот где моя проблема. События onClick () даже не работают из listView, чтобы получить правильные представления. Мне нужно закомментировать методы в «DundrumSelector», прежде чем я смогу узнать их мнение.
И это то, что я не понимаю, во-первых, почему не работают события onClick (), потому что это даже не при следующем просмотре, где находится карта.
Я знаю, что это очень длинный пост, и он может быть довольно запутанным, поэтому дайте мне знать, если вам нужны какие-либо разъяснения ..
Просто напомню, что я пытаюсь сделать, это просто иметь один класс, который устанавливает координаты карты, как то, что я пытаюсь сделать в моем 'mapClass'.
Пожалуйста, кто-нибудь может помочь или предложить другой способ сделать это!
Большое спасибо всем за чтение.