Создание списка из списка, полученного из другого класса, работает только в режиме отладчика, в противном случае он имеет пустой экран - PullRequest
0 голосов
/ 27 января 2020

У меня есть программа, которая проверяет, находится ли список 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");
    }
  }
}

Когда я ставлю красную точку на вторую функцию и начинаю отладку, она работает хорошо, но когда я не на отладке В режиме он показывает только пустой экран до тех пор, пока я не выйду из программы или не нажму назад, а затем перейду к предыдущему экрану, так что на самом деле он не получает стек, я не знаю, почему это происходит и как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...