gpt4 book ai didi

java - 如何将大量可绘制图像加载到 fragment ListView中?

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:34 24 4
gpt4 key购买 nike

我正在为一本书开发一个应用程序,该应用程序有13个单元,每个单元包含许多练习,每个练习包含许多扫描图像(总共450张图像)。

现在我有一个主菜单 Activity 和 2 个 fragment ,fragmentA 用于在 ListView 中显示练习,fragmentB 用于显示练习的扫描图像。

我的主菜单 Activity 包含 13 个按钮,每个按钮对应每个单元,用于加载该单元的练习。

我为每个单元分别创建了练习的字符串ArrayLists,当用户点击特定单元时将它们加载到fragmentA中。

1) 现在如何在 ListView 中加载 fragmentB 中的图像?TypedArrays,或者我应该在主菜单类中创建integerArrays(所有单元的每个练习都有1个arraylist)?

当我在 fragmentAoncreateview 中将 OnItemClick 设置为 ListView 时,它会将相同的操作分配给所有 13 个 ArrayList 的 ListView 项,即,如果我将图像分配给单元 1 的练习 1,它将将该图像分配给所有单元的练习 1。

2) 如何分别为所有单元的所有练习实现 onItemClick

最佳答案

开发前应考虑的一些事项:

  1. 在应用程序中放置 450 张图像可能会导致应用程序尺寸过大。请记住,Google Play 上 .apk 文件的大小限制是 100MB
  2. 在 UI 上显示如此大规模的图像可能需要大量处理能力,并可能导致 ANR 。您需要在 UI 上异步加载图像。

how do i load images in fragmentB in ListView

您可以使用ListFragmentFragmentB

要根据练习显示不同的内容,请将单击的项目的位置从 FragmentA 传递到 FragmentB,并根据该位置,在 UI 上设置 ArrayList 中的以下项目。

在fragment中发送参数的方式。

Bundle bundle=new Bundle();
bundle.putString("position", "0");
FragmentB fragmentB=new FragmentB();
fragmentB.setArguments(bundle);

更新

您需要创建模型类来保存内容,例如

Unit.java

public class Unit {
public int unit;
public ArrayList<Exercise> exercises;
}

其中Exercise也是一个模型类。

关于java - 如何将大量可绘制图像加载到 fragment ListView中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34704179/

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