Очень необычная ошибка "не может быть применена" - PullRequest
0 голосов
/ 25 мая 2018

Изначально я хотел бы сказать, что я новичок в программировании :).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».делать в такой ситуации?Вот мой код:

1 Ответ

0 голосов
/ 25 мая 2018

Третий параметр вашего 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 конструктору.

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