Я новичок в программировании для Android.
Почему мои данные одинаковы? Я получаю данные из JSON и помещаю их в пользовательское информационное окно. Почему всё дублируется, а маркеры нет?
Фотографии отправить не могу, так как первый раз здесь задаю вопросы.
Это мой класс адаптера
Класс адаптера
public class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter {
private Context context;
private TextView tvnama, tvalamat, tvkursi, tvmeja, tvstop, tvlain, tvket;
public static String stonama, stoalamat, kursisto, mejasto, stopkontaksto, lainlainsto, keterangansto, id;
public MarkerInfoWindowAdapter(Context context){
this.context = context.getApplicationContext();
}
@Override
public View getInfoWindow(Marker marker){
return null;
}
@Override
public View getInfoContents(Marker marker){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.map_marker_info_window, null);
tvnama = (TextView) v.findViewById(R.id.tv_namasto);
tvalamat = (TextView) v.findViewById(R.id.tv_alamatsto);
tvkursi = (TextView) v.findViewById(R.id.tv_kursisto);
tvmeja = (TextView) v.findViewById(R.id.tv_mejasto);
tvstop = (TextView) v.findViewById(R.id.tv_stopkontaksto);
tvlain = (TextView) v.findViewById(R.id.tv_lainlainsto);
tvket = (TextView) v.findViewById(R.id.tv_keterangansto);
tvnama.setText("Nama STO: "+stonama);
tvalamat.setText("Alamat STO: "+stoalamat);
tvkursi.setText("Fasilitas Kursi: "+kursisto);
tvmeja.setText("Fasilitas Meja: "+mejasto);
tvstop.setText("Fasilitas Stop Kontak: "+stopkontaksto);
tvlain.setText("Fasilitas Lain Lain: "+lainlainsto);
tvket.setText("Keterangan: "+keterangansto);
return v;
}
}
MapsActivity
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private String[] nama_sto, alamat_sto, kursi, meja, stop, lain, keterangan, id;
int numData;
LatLng latLng[];
Boolean markerD[];
private Double[] latitude, longitude;
private void getLokasi() {
String url = "http://huracan97.site/api/GetSTO.php";
JsonArrayRequest request = new JsonArrayRequest
(Request.Method.GET, url, new Response.Listener() {
@Override
public void onResponse(JSONArray response) {
numData = response.length();
Log.d("DEBUG_", "Parse JSON");
latLng = new LatLng[numData];
markerD = new Boolean[numData];
id = new String[numData];
nama_sto = new String[numData];
alamat_sto = new String[numData];
kursi = new String[numData];
meja = new String[numData];
stop = new String[numData];
lain = new String[numData];
keterangan = new String[numData];
latitude = new Double[numData];
longitude = new Double[numData];
for (int i = 0; i < numData; i++) {
try {
JSONObject data = response.getJSONObject(i);
id = data.getString("id_sto");
latLng = new LatLng(data.getDouble("latitude"),
data.getDouble("longitude"));
nama_sto = data.getString("nama_sto");
alamat_sto = data.getString("alamat_sto");
kursi = data.getString("fasilitas_kursi");
meja = data.getString("fasilitas_meja");
stop = data.getString("fasilitas_stopkontak");
lain = data.getString("fasilitas_lainlain");
keterangan = data.getString("keterangan");
latitude = data.getDouble("latitude");
longitude[i] = data.getDouble("longitude");
MarkerInfoWindowAdapter.stonama = nama_sto[i];
MarkerInfoWindowAdapter.stoalamat = alamat_sto[i];
MarkerInfoWindowAdapter.kursisto = kursi[i];
MarkerInfoWindowAdapter.mejasto = meja[i];
MarkerInfoWindowAdapter.stopkontaksto = stop[i];
MarkerInfoWindowAdapter.lainlainsto = lain[i];
MarkerInfoWindowAdapter.keterangansto = keterangan[i];
markerD[i] = false;
mMap.addMarker(new MarkerOptions()
.position(latLng[i])
);
} catch (JSONException je) {}
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng[i], 15.5f));
}
}
Подробнее здесь: https://stackoverflow.com/questions/518 ... oid-studio
Пользовательское информационное окно, показывающее повторяющиеся данные из json android studio ⇐ Android
Форум для тех, кто программирует под Android
1727140637
Anonymous
Я новичок в программировании для Android.
Почему мои данные одинаковы? Я получаю данные из JSON и помещаю их в пользовательское информационное окно. Почему всё дублируется, а маркеры нет?
Фотографии отправить не могу, так как первый раз здесь задаю вопросы.
Это мой класс адаптера
Класс адаптера
public class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter {
private Context context;
private TextView tvnama, tvalamat, tvkursi, tvmeja, tvstop, tvlain, tvket;
public static String stonama, stoalamat, kursisto, mejasto, stopkontaksto, lainlainsto, keterangansto, id;
public MarkerInfoWindowAdapter(Context context){
this.context = context.getApplicationContext();
}
@Override
public View getInfoWindow(Marker marker){
return null;
}
@Override
public View getInfoContents(Marker marker){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.map_marker_info_window, null);
tvnama = (TextView) v.findViewById(R.id.tv_namasto);
tvalamat = (TextView) v.findViewById(R.id.tv_alamatsto);
tvkursi = (TextView) v.findViewById(R.id.tv_kursisto);
tvmeja = (TextView) v.findViewById(R.id.tv_mejasto);
tvstop = (TextView) v.findViewById(R.id.tv_stopkontaksto);
tvlain = (TextView) v.findViewById(R.id.tv_lainlainsto);
tvket = (TextView) v.findViewById(R.id.tv_keterangansto);
tvnama.setText("Nama STO: "+stonama);
tvalamat.setText("Alamat STO: "+stoalamat);
tvkursi.setText("Fasilitas Kursi: "+kursisto);
tvmeja.setText("Fasilitas Meja: "+mejasto);
tvstop.setText("Fasilitas Stop Kontak: "+stopkontaksto);
tvlain.setText("Fasilitas Lain Lain: "+lainlainsto);
tvket.setText("Keterangan: "+keterangansto);
return v;
}
}
MapsActivity
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private String[] nama_sto, alamat_sto, kursi, meja, stop, lain, keterangan, id;
int numData;
LatLng latLng[];
Boolean markerD[];
private Double[] latitude, longitude;
private void getLokasi() {
String url = "http://huracan97.site/api/GetSTO.php";
JsonArrayRequest request = new JsonArrayRequest
(Request.Method.GET, url, new Response.Listener() {
@Override
public void onResponse(JSONArray response) {
numData = response.length();
Log.d("DEBUG_", "Parse JSON");
latLng = new LatLng[numData];
markerD = new Boolean[numData];
id = new String[numData];
nama_sto = new String[numData];
alamat_sto = new String[numData];
kursi = new String[numData];
meja = new String[numData];
stop = new String[numData];
lain = new String[numData];
keterangan = new String[numData];
latitude = new Double[numData];
longitude = new Double[numData];
for (int i = 0; i < numData; i++) {
try {
JSONObject data = response.getJSONObject(i);
id[i] = data.getString("id_sto");
latLng[i] = new LatLng(data.getDouble("latitude"),
data.getDouble("longitude"));
nama_sto[i] = data.getString("nama_sto");
alamat_sto[i] = data.getString("alamat_sto");
kursi[i] = data.getString("fasilitas_kursi");
meja[i] = data.getString("fasilitas_meja");
stop[i] = data.getString("fasilitas_stopkontak");
lain[i] = data.getString("fasilitas_lainlain");
keterangan[i] = data.getString("keterangan");
latitude[i] = data.getDouble("latitude");
longitude[i] = data.getDouble("longitude");
MarkerInfoWindowAdapter.stonama = nama_sto[i];
MarkerInfoWindowAdapter.stoalamat = alamat_sto[i];
MarkerInfoWindowAdapter.kursisto = kursi[i];
MarkerInfoWindowAdapter.mejasto = meja[i];
MarkerInfoWindowAdapter.stopkontaksto = stop[i];
MarkerInfoWindowAdapter.lainlainsto = lain[i];
MarkerInfoWindowAdapter.keterangansto = keterangan[i];
markerD[i] = false;
mMap.addMarker(new MarkerOptions()
.position(latLng[i])
);
} catch (JSONException je) {}
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng[i], 15.5f));
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/51805809/custom-info-window-showing-duplicate-data-from-json-android-studio[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия