#java #android
#java #Android
Вопрос:
У меня проблема. Я хочу написать модальный текст списка для numberpicker. setDisplayValues просто принимает строку [] как я могу это сделать
public String getSure_ad_tr() {
return sure_ad_tr;
}
public void setSure_ad_tr(String sure_ad_tr) {
this.sure_ad_tr = sure_ad_tr;
}
public String getSure_ad_ar() {
return sure_ad_ar;
}
public void setSure_ad_ar(String sure_ad_ar) {
this.sure_ad_ar = sure_ad_ar;
}
AnasayfaFragment.xml
String[] sureler = new String[]{"Fatiha", "Bakara", "Ali İmran", "Nisa"};
NPsureler.setMaxValue(sureler.length - 1);
//implement array string to number picker
NPsureler.setDisplayedValues(sureler);
NPsureler.setMinValue(1);
NPayetler.setMaxValue(7);
NPayetler.setMinValue(1);
Я хочу написать не String[], а list.get(i).getSure_ad_tr() в setDisplayValues
как я могу это сделать
Комментарии:
1. Просто выполните цикл по ArrayList и добавьте элементы add String (sure_ad_tr) внутри массива.
2.Вы можете использовать следующий
String [] arr = list.toArray(new String[list.size()]);
toArray()
метод, который поможет вам преобразовать ArrayList в массив объектов
Ответ №1:
Вы можете вызвать List.toArray()
:
String[] stringArr = new String[myList.size()];
stringArr = myList.toArray(stringArr);
Или более просто объединить это в одну строку:
String[] array = myList.toArray(new String[myList.size()]);
Просто некоторая информация о том, почему я передаю новый String[]
в list.toArray()
:
Существует два метода, один возвращает <T[]>
и один Object[]
. Поскольку во время выполнения нет информации о том, что T
есть на самом деле, я передаю новый строковый массив методу, чтобы он мог «определить» правильный тип.
См. Javadoc для получения дополнительной информации о List.toArray()
:
https://docs.oracle.com/javase/10/docs/api/java/util/List.html