Мой ListView не показывает мои данные, но показывает имя моего пакета

Я хочу указать на некоторые трудности, возникающие при использовании метода в принятом ответе, т. е. с использованием сообщения формы:

  1. Вы не можете установить заголовки в запросе. Если ваша схема аутентификации включает заголовки, Json-Web-Token прошел в заголовке Authorization, вам придется найти другой способ ее отправки, например, в качестве параметра запроса.
  2. Вы не можете реально сообщите, когда запрос завершен. Ну, вы можете использовать cookie, который устанавливается в ответ, как это сделано jquery.fileDownload , но это FAR от совершенства.
  3. Если сервер отвечает на ошибку, пользователь будет перенаправлен на страницу с ошибкой.
  4. Если сервер отвечает на ошибку, Вы можете использовать только типы контента, поддерживаемые формой . Это означает, что вы не можете использовать JSON.

В итоге я использовал метод сохранения файла на S3 и отправку предварительно подписанного URL для получения файла.

0
задан RickyPang 22 February 2019 в 13:18
поделиться

2 ответа

Так как вы используете значение по умолчанию ArrayAdapter, вы визуализируете toString() вашего dataDetail класса. У вас есть по крайней мере следующие варианты:

  1. Определите пользовательский toString() в dataDetail для представления необходимой вам информации. Примерно так:

    @Override public String toString () {return "Name:" + carName; }

    Чтобы представить названия автомобилей.

  2. Определите и используйте настраиваемый адаптер, в котором вы можете использовать настраиваемый держатель представления для визуализации нужных данных. См. здесь для более подробной информации, если вы используете RecyclerView.

  3. Вы также можете расширить ArrayAdapter. См. Этот ответ для более подробной информации.

Я бы рекомендовал использовать RecyclerView с настраиваемым адаптером вместо ListView, аналогичного тому, что представлено здесь . Таким образом, вы получаете большую гибкость, и ваше приложение сможет эффективно представлять множество элементов. См. здесь хорошее сравнение между ними.

0
ответ дан dan 22 February 2019 в 13:18
поделиться
 dataDetail tData = new dataDetail(customerName, carName, appointmentDate, email, issueDescribe, timeForJob, costForJob, reliableOnCar, distanceJob, finalScore);
            allDetail.add(tData.getCustomerName());

Адаптер Arrya использует только список массивов строкового типа, поэтому он помещает tdata в качестве строки в allDetails

0
ответ дан Darshan Kachhadiya 22 February 2019 в 13:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: