Для начала хочу сказать, что я новичок в программировании :). 2 дня назад в моем приложении произошла очень странная ошибка. В следующем действии моего приложения. Фрагмент моего кода, говорящий
FollowingActivity adapter = new FollowingActivity(mContext, R.layout.layout_followrow, mFollowing);
mListView.setAdapter(adapter);
(mContext, R.layout.layout_followrow, mFollowing); подчеркнута и показывает ошибки. Один из них говорит: «FollowActivity в FollowActivity не может быть применен к». Затем отображаются параметры. Два из них в порядке, а последний (объекты) - нет. Ожидаемый параметр - FollowRow, а фактический аргумент - «mFollowing (java.util.ArrayList)». После этой строки «адаптер» также подчеркнут и говорит, что «setAdapter (android.widget.ListAdapter) в ListView не может быть применен к FollowActivity» Что мне следует делать в такой ситуации? Вот мой код:




Третий параметр вашего конструктора FollowingActivity должен быть List<FollowingRow>. Вы пытаетесь передать mFollowing, то есть ArrayList<String>. Список строк - это не список FollowingRow.
Возможно, вы хотите преобразовать свой список строк в список FollowingRow. В Java 8 это можно сделать с помощью
List<FollowingRow> followingRows = mFollowing.stream()
.map(FollowingRow::new)
.collect(Collectors.toList());
(Это использует ваш конструктор FollowingRow(String).)
До Java 8 вы можете преобразовать его с помощью явного цикла.
List<FollowingRow> followingRows = new ArrayList<FollowingRow>(mFollowing.size());
for (String str : mFollowing) {
followingRows.add(new FollowingRow(str));
}
Затем передайте followingRows своему конструктору FollowingActivity.
Хорошо, но где именно я должен это добавить, потому что, похоже, это не помогло :(
Что ж, первая строка проблемного кода больше не показывает ошибок, но во второй слово «адаптер» по-прежнему подчеркнуто красным цветом.
Могу я получить ответ?
Я разместил ответ на проблему в вашем вопросе. Я не могу решать новые проблемы в коде, которого не видел.
Третий параметр вашего конструктора должен быть
List<FollowingRow>. Вы пытаетесь передатьmFollowing, то естьArrayList<String>. Список строк - это не списокFollowingRow.