У меня в приложении я работаю с сообщениями в которых могут быть прикрепленные файлы, вот мне для того что-бы послать запрос на скачивание файла нужно знать название файла и id сообщения. Вот я создал класс для получения размера и названия файла, потом я этот класс вызываю в функции показа всего сообщения. И вот я столкнулся с проблемой, что у меня почему-то в textView выводится ромбы с знаком вопроса, либо ничего не выводится. Может я как-то неправильно инициализировал массив названий, либо не так вызвал класс. Вот класс для получения информации про файл:
public class FileData {
@SerializedName("size")
@Expose
private double size;
@SerializedName("name")
@Expose
private String name;
public FileData(double size, String name) {
this.size = size;
this.name = name;
}
public double getSize() {
return size;
}
public String getName() {
return name;
}
}
дальше вот мой класс для вывода сообщения:
public class ViewMessage {
@SerializedName("date")
@Expose
private String date;
@SerializedName("type")
@Expose
private String type;
@SerializedName("user_id")
@Expose
private String userId;
@SerializedName("body")
@Expose
private String body;
@SerializedName("can_delete")
@Expose
private String canDelete;
@SerializedName("can_reply")
@Expose
private String canReply;
@SerializedName("name")
@Expose
private String name;
@SerializedName("subject")
@Expose
private String subject;
@SerializedName("attach")
private List<FileData> attach;
public String[] getAttachesNames() {
String[] names = new String[attach.size()];
for (int i = 0; i < attach.size(); i++) {
FileData fileInfo = attach.get(i);
names[i] = fileInfo.getName();
}
return names;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUserId() {
return userId;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getCanDelete() {
return canDelete;
}
public String getCanReply() {
return canReply;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubject() {
return subject;
}
}
и наконец вот как я пытаюсь закинуть данные в textView:
String[] file_name = Objects.requireNonNull(response.body()).getAttachesNames();
for (int c=0;c<file_name.length-1;c++)
txt.append(file_name[c]+"\n");
if (file_name.length > 0) {
setEmptyBackground(bt);
} else {
bt.setEnabled(false);
txt.setText("No attachment)");
}
может мне каким-то другим способом вытаскивать названия или названия прикрепленных файлов, потому-что я никак не могу вытащить название из ответа сервера, ромбы у меня мне кажется из-за проблем с кодировкой, но не факт. Если кто понял в чем проблема то буду очень благодарен если укажите мне на нее, или посоветует ее решение.