Что я пытаюсь архивировать; Я хочу получить всплывающее окно со списком BikeLocations
. В настоящий момент работает мой код. Работает в значении, что все id
мои по возрастанию от 0 до, например. 5. Но, когда я удаляю BikeLocations
и добавляю новый BikeLocations
. Элементы id
этих элементов не от 0 до, например. 5, но от 5 до, например, 10. Это означает, что я не могу получить id
BikeLocation
с onClick(DialogInterface dialog, int item)
, потому что это не возвращает id
BikeLocation
, а индекс массива.Добавить тег в AlertDialog
List<BikeLocation> locations = BikeLocation.listAll(BikeLocation.class);
final ArrayList<String> arrData = new ArrayList<String>();
for (BikeLocation location : locations) {
int id = Integer.parseInt(location.getId().toString());
arrData.add((id - 1), location.getTitle());
}
if (arrData.size() != 0) {
CharSequence cs[] = arrData
.toArray(new CharSequence[arrData.size()]);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Selecteer een locatie");
builder.setItems(cs, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
/*
* Locations loc = db.getLocation((item + 1)); LatLng
* testLocation = new LatLng(Float.valueOf(loc
* .getLattitude()), Float.valueOf(loc.getLongitude()));
* googleMap.addMarker(new MarkerOptions().position(
* testLocation).title(loc.getTitle()));
*/
long longId;
int intId;
intId = item + 1;
longId = Long.valueOf(intId);
BikeLocation loc = BikeLocation.findById(
BikeLocation.class, longId);
// locatie aanmaken
LatLng addLocation = new LatLng(loc.getLatitude(), loc
.getLongitude());
/*googleMap.addMarker(new MarkerOptions().position(
addLocation).title(loc.getTitle()));*/
addMarkerToMap(loc.getLatitude(), loc.getLongitude(),loc.getTitle(), false);
}
});
AlertDialog alert = builder.create();
alert.show();
} else {
Toast.makeText(this, "Geen items gevonden", 10).show();
}
Теперь, мой вопрос: есть ли способ привязать какой-то код BikeLocation
к товару?
Вы можете использовать свои диалоги как диалоговые окна, тогда легко добавить к ним тег! -> Диалог DialogFragment = новый DialogFragment(); \t \t \t dialog.show (getSupportFragmentManager(), "MyFragmentTag"); – bofredo