我已经将一些值存储到ArrayList HashMap中,如下所示:
ArrayList<HashMap<String, String>> bookDetails = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("book_author", bookAuthor);
map.put("book_description", bookDescription);
bookDetails.add(map);
我只是希望能够检索描述值并将其显示在TextView中,我该怎么做呢?提前谢谢。
答案 0 :(得分:3)
这样的事情应该有效:
TextView text = (TextView) findViewById(R.id.textview_id);
text.setText(bookDetails.get(0).get("book_description"));
当然,您也可以迭代get(0)
数组并获取当前的迭代计数器变量,而不是调用bookDetails
。 get(n)
答案 1 :(得分:3)
地图真的有必要吗?
为什么不创建 Book.java对象。
图书对象有 2个属性:
public class Book {
private String bookAuthor;
private String bookDescription;
public String getBookAuthor() {
return bookAuthor;
}
public void setBookAuthor(String bookAuthor) {
this.bookAuthor = bookAuthor;
}
public String getBookDescription() {
return bookDescription;
}
public void setBookDescription(String bookDescription) {
this.bookDescription = bookDescription;
}
}
然后您可以拥有图书清单。
答案 2 :(得分:1)
我建议改变存储信息的方式。
如果您的地图仅包含作者和描述,则有效的方法是完全省略ArrayList并仅使用Map。
地图将是
HashMap<String, String> map;
map.put(bookAuthor, bookDescription);
访问说明也会更容易:
String desc = map.get(bookAuthor);
希望这有帮助。