如何在ListView中显示HashMap中的项目和子项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ListView中显示HashMap中的项目和子项目相关的知识,希望对你有一定的参考价值。
我想显示HashMap中的项目和子项目,项目为String(借款人名称),子项目double(借款人贷款)。这是我的第一个android应用程序,请谅解:)
这是我的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="669dp">
</ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/editButton"
android:layout_width="244dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Dodaj" />
<Button
android:id="@+id/sumButton"
android:layout_width="202dp"
android:layout_height="wrap_content"
android:text="Suma dlugow" />
</LinearLayout>
</LinearLayout>
和后端
listView = findViewById(R.id.listView);
Map<String, Double> borrowers = new HashMap<>();
ArrayList<String> arrayList = new ArrayList<>();
borrowers.put("John", 300.0);
arrayList.add(String.valueOf(borrowers));
ArrayAdapter<Borrower> arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(arrayAdapter);
并且应用程序仅显示一项,它看起来像{John = 300.0},我想看起来像:
John
300.0
或者只是约翰 t 300
答案
您当前的代码只是获取整个地图的String
值。您需要遍历地图以获取键和值,然后构造新的String
并将其添加到List
。
for (Map.Entry<String, Double> entry : borrowers.entrySet()) {
String key = entry.getKey();
Double value = entry.getValue();
arrayList.add(key + " " + value);
}
以上是关于如何在ListView中显示HashMap中的项目和子项目的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 listview 项目 android 对 listview 进行排序?
如何使用 onItemClickListener 存储 ListView 中的可点击项目?
单击 Listview 中的项目时,如何在新活动中从 Firebase 检索数据?