У меня есть программа, которая проверяет, находится ли список latlng внутри многоугольника или нет, и печатает список идентификатора latlng, который находится внутри.
Мой первый класс получает карту ha sh, строка которой id каждого latlng, и мне нужно напечатать id, это происходит, когда я нажимаю btnlist, поэтому его функция находится внутри oncreate:
btnlist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (created) {
for (Map.Entry<LatLng, String> entry : idhash.entrySet()) {
LatLng key = entry.getKey();
String value = entry.getValue();
boolean inside = PolyUtil.containsLocation(key.latitude, key.longitude, latLngList, true);
if (inside) {
idlist.add(value);
}
}
IdList(view);
}
else{
Log.e("no polygon","there is no polygon");
}
}
});
И функция IdList:
public void IdList(View view) {
Intent intent = new Intent(DrawPolygon.this, IdList.class);
intent.putExtra("idlist", idlist);
startActivity(intent);
}
Второй класс получает список идентификаторов и печатает с представлением списка:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_id_list);
Intent intent = getIntent();
idlist= intent.getStringArrayListExtra("idlist");
if(!idlist.isEmpty()){
ListView listView;
ArrayAdapter arrayAdapter;
listView = findViewById(R.id.list);
arrayAdapter = new ArrayAdapter(this,R.layout.list_item, R.id.id, idlist);
listView.setAdapter(arrayAdapter);
}
else{
Log.e("empty list","there are no cars in the polygon");
}
}
}
Когда я ставлю красную точку на вторую функцию и начинаю отладку, она работает хорошо, но когда я не на отладке В режиме он показывает только пустой экран до тех пор, пока я не выйду из программы или не нажму назад, а затем перейду к предыдущему экрану, так что на самом деле он не получает стек, я не знаю, почему это происходит и как это исправить.