gpt4 book ai didi

Android BaseAdapter 无法加载最后一个数组值

转载 作者:行者123 更新时间:2023-11-30 04:29:17 25 4
gpt4 key购买 nike

大家

最近在用ADT开发android 2.2的程序。程序在模拟器上运行正常,但在真机上运行却遇到了一个奇怪的问题。

我使用 BaseAdapter 创建一个 MenuAdapter,它将加载名为 ViewHolder 的自定义类。自定义类和MenuAdapter 都类似于任何关于BaseAdapter 的示例:ViewHolder 只有两个变量文本和图像,没有任何代码。 MenuAdapter 加载包含 TextView 的菜单布局。它会在 TextView 中分配文本变量并将其作为 Alert Dialog 重复加载。

然后我创建数组携带以下变量:

public String[] menuOptions={"Browser", "Google Map", "Camera", "Gallery", "Media Player", "Cancel", "Exit"};

之后,我使用 AlertDialog.Builder().setAdapter() 创建 BaseAdapter 对象并加载数组。Alert Dialog 进行数据集。但它输出这个:

Browser, Google Map, Camera, Gallery, Media Player, Cancel, Browser

最后一项随机变化,我再次加载警报对话框,结果是这样的:

Browser, Google Map, Camera, Gallery, Media Player, Cancel, Google Map

Browser, Google Map, Camera, Gallery, Media Player, Cancel, Gallery

没有退出...

所以我想知道,这是怎么回事?为什么它不加载所有数据?当我遇到这个问题时,我尝试将 Array 减少到

public String[] menuOptions={"Browser", "Google Map", "Camera", "Gallery", "Media Player", "Cancel"};

正确显示:

Browser, Google Map, Camera, Gallery, Media Player, Cancel

MenuAdapter类中没有关于数组加载的数值设置,所以我不明白。

最佳答案

我找到了答案。

Dialog Alert 显示错误的数据,因为一些数据显示在屏幕之外。对话框警报将以 scroll-y 样式显示它们(如果您知道什么是 HTML 和 CSS,那么您就会明白我的意思)。

隐藏在scroll-y样式中的数据会随机显示……比如我最后一个项目“Exit”在加载时隐藏在屏幕下方,我向下拖动屏幕查看,它会随机显示最后的数据,而不是“退出”。

我通过改变每个项目的行高来解决这个问题,让它们更短,让它们在一个屏幕上显示而不用 scroll-y 样式,它会正确显示数据。

不知道是不是系统bug。

关于Android BaseAdapter 无法加载最后一个数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7995368/

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