我有double totalPrice = 0.0;
for (int i = 0; i < bookArray.length; i++) { //can't use foreach because of use of parallel arrays bookArray & quantityArray
Book b = bookArray[i];
double price = b.getPrice() * quantityArray[i];
totalPrice += price;
String bookStr = String.format(" %s, %s %s", b.getTitle(), b.getIsbn(),
DecimalFormat.getCurrencyInstance().format(price));
JOptionPane.showMessageDialog(null, bookStr);
}
String totalStr = String.format("Total Charge: %s",
DecimalFormat.getCurrencyInstance().format(totalPrice)));
JOptionPane.showMessageDialog(null, totalStr);
有3个页面,它有一个viewPager()
,每个页面都有三个不同的适配器,我希望用户点击它在数据库中添加的第一页中的适配器项目第二个适配器从同一个数据库获取其数组列表,但它在应用程序重新启动后显示在第二个页面的适配器中,因此问题是如何在不重新启动的情况下更新第二个页面的适配器。
答案 0 :(得分:0)
常规ListView
可以使用CursorAdapter
,它提供了您需要的一些功能。唉,现有的CursorAdapter
类没有扩展RecyclerView.Adapter
。
最快的解决方案是在GitHub上使用RecyclerViewCursorAdapter
。
然后它会像这样工作:
getItem()
中创建片段时,可以存储此引用。请注意,根据ViewPager
已创建/未创建的页面,您的片段可能为空。Cursor
(使用与之前相同的查询)。当适配器收到新的Cursor
时,它将更新RecyclerView
。