最初我想说我是编程的新手:)。 2天前我的应用程序中发生了一个非常奇怪的错误。在我的应用程序的FollowingActivity中。我的代码片段说
FollowingActivity adapter = new FollowingActivity(mContext, R.layout.layout_followrow, mFollowing);
mListView.setAdapter(adapter);
(mContext,R.layout.layout_followrow,mFollowing);带下划线并显示错误。其中一个说:“FollowActivity中的FollowActivity无法应用于”然后显示参数。其中两个是好的,但最后一个(对象)不是。预期参数是FollowingRow,实际参数是“mFollowing(java.util.ArrayList)”之后该行“adapter”也加下划线并说“ListView中的setAdapter(android.widget.ListAdapter)无法应用于FollowActivity”我该怎么办?在这种情况下呢?这是我的代码:
答案 0 :(得分:1)
FollowingActivity
构造函数的第三个参数应该是List<FollowingRow>
。您正试图通过mFollowing
,ArrayList<String>
。字符串列表不是FollowingRow
的列表。
也许您想将字符串列表转换为FollowingRow
列表。在Java 8中,您可以使用
List<FollowingRow> followingRows = mFollowing.stream()
.map(FollowingRow::new)
.collect(Collectors.toList());
(那是使用你的FollowingRow(String)
构造函数。)
Pre-Java 8,您可以使用显式循环对其进行转换。
List<FollowingRow> followingRows = new ArrayList<FollowingRow>(mFollowing.size());
for (String str : mFollowing) {
followingRows.add(new FollowingRow(str));
}
然后将followingRows
传递给您的FollowingActivity
构造函数。