我是Android编程的新手,还在教自己编写代码。
目前我正在教自己关于GridViews并仍然使用教程编写该项目,所以我现在没有任何东西可以显示,但基本思路如下......
如果我在第一个活动中在GridView中有杂货图像,当您点击图像时,您将能够打开一个包含更大图像的新活动,并且您可以输入您需要的数量,例如5个苹果管他呢。
所有这一切对我来说或多或少都很清楚。
但是如何使用ListView将数字和图像发送到新的(第三)活动,ListView将列出您需要在杂货店购买的所有商品?如果您在上一个活动中使用大图片输入数字并单击“确定”或“添加”按钮或其他任何内容并且不能完整列出所有内容,我将如何仅使用项目填充列表?
谢谢!
答案 0 :(得分:0)
一开始很难,但您可以使用SQLiteDatabase来存储数据。 这对你来说不是一个快速的解决方案,但如果你认真学习android,那绝对值得学习。这是官方资料的链接: https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
我个人使用过本教程: http://www.androidwarriors.com/2016/02/android-sqlite-database-tutorial-sqlite.html?m=1
答案 1 :(得分:0)
在多个活动或片段之间共享一些数据是一种非常常见的情况。解决这个问题的一种方法是实施Singleton Pattern。
在您的情况下,您可以为您的目的设计某种数据结构,并在共享单例类中进行管理。例如:
public class ShoppingListManager {
private static ShoppingListManager instance = new ShoppingListManager();
private List<ShoppingItem> shoppingList;
public static ShoppingListManager getInstance() {
return instance;
}
public List<ShoppingItem> getShoppingList() {
return shoppingList;
}
public void addShoppingItem(ShoppingItem item) {
this.shoppingList.add(item);
}
...
// Make the constructor private so that this class cannot be instantiated
private ShoppingListManager(){
shoppingList = new ArrayList<String>();
}
}
然后,您可以在代码中的任何位置访问您的数据,并以您喜欢的任何方式管理共享数据。
ShoppingListManager.getInstance().getShoppingList();
// You can add items in any activity
ShoppingListManager.getInstance().addShoppingItem(item);
要记住从不在单例类中存储上下文,因为它会导致内存泄漏。