gpt4 book ai didi

android - 如何将返回的 JSON 的 HashMap 值归因于 RecyclerView 行中的 TextView

转载 作者:行者123 更新时间:2023-11-30 00:59:14 27 4
gpt4 key购买 nike

作为 API 调用的结果,我收到了一个 Hashmap <String,Integer> . onResponse内方法,我可以在控制台输出如下:

 public void onResponse(Call<UsersStackOverflow> call, Response<UsersStackOverflow> response) {

int code = response.code();
List<User> users = response.body().getUsers();

myDataSource.clear();
myDataSource.addAll(response.body().getUsers());
myAdapter.notifyDataSetChanged();

for (User user: users) {
System.out.println(
"Name: " + user.getUserName() +
"; Location: " + user.getLocation() +
"; Reputation: " + user.getReputation()
);

System.out.println("Badges: ");

for (Map.Entry<String, Integer> entry : user.getBadges().entrySet()) {
String key = entry.getKey().toString();
Integer value = entry.getValue();
System.out.println(key + " : " + value);
}
}

我想通过 RecyclerView 在不同的行中显示每条数据. onBindViewHolder()内适配器,我这样显示数据:

@Override
public void onBindViewHolder(UsersViewHolder holder, int position) {
holder.userLocation.setText("Location: "+users.get(position).getLocation());
holder.userReputation.setText("Reputation: " + users.get(position).getReputation());
holder.userName.setText("Username: " + users.get(position).getUserName());
holder.goldenBdge.setText(
(users.get(position).getBadges().keySet().toString()));

}

但是我应该如何从 HashMap 中提取键值对呢?谢谢!

最佳答案

users.get(position).getBadges().entrySet()

返回包含此 Map 中所有映射的 Set。每个映射都是 Map.Entry 的一个实例。由于 Set 受此 Map 支持,因此其中一个的更改将反射(reflect)在另一个中。

我想这就是你如何遍历对:

Iterator<Map.Entry<Integer,String>> it  = hash.entrySet().iterator();
do{
Map.Entry<Integer,String> pair = it.next();
pair.getKey();
pair.getValue();
}while(it.hasNext());

关于android - 如何将返回的 JSON 的 HashMap 值归因于 RecyclerView 行中的 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39684380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com