问题标签 [android-arrayadapter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 我是否正确创建了我的自定义 ArrayAdapter?
我的 ListView 填充正确,但由于某种原因,添加和删除很奇怪并且无法正常工作!难道我做错了什么?
在 OnCreate() 中进行设置
引用适配器私有类
从列表中删除一个项目(这不起作用,什么都不做)
将项目添加到列表中(此工作)
这是我如何序列化和反序列化
android - 创建微调器的问题
在我正在开发的应用程序中,我在警报对话框中有一个微调器。
微调器工作正常,但是当我添加以下行以将数组添加到微调器时,我的应用程序在启动几秒钟后崩溃:
我究竟做错了什么?
这些 Android 微调器似乎也有点复杂,如果不参考 Android 文档,我想我将无法记住如何制作它们。
android - 如何在android中创建动态上下文菜单?
我希望我的菜单显示“删除 AAPL”
我会从我的数组适配器中获取字符串 AAPL,但我不确定如何通过这种方法访问我的数组适配器索引。
android - 如何将向量放入我的阵列适配器?
我有当前的代码:
我如何将向量放入我的 array_spinner 中?
谢谢你。
android - 当前选定列表项的 Android Ellipsize 选取框问题
我的问题- 我希望我在自定义 ListView 中的 TextView 的文本仅在 ListView 中选择该项目时才滚动。当列表项失去焦点时,我希望选取框停止滚动。我知道我需要将 TextView 设置为启用(setEnabled(true))才能滚动工作,但是当我在添加项目时这样做时,它们都会滚动,这不是我想要的行为(但这确实是有道理的发生)。我尝试使用 ListView 的单击处理程序以编程方式设置它们以将 TextView 设置为启用(setEnabled(true)),在私有变量中跟踪当前选定的项目,然后在单击新项目时将之前的 Views TextView 启用状态设置为 false 等等。我希望这是有道理的。下面是一些可能更好地说明它的 Java 代码:
这确实有效,有点。但是,它有点笨拙。例如,如果前一个项目离开显示屏,它永远不会关闭,当我选择列表项目时,我会丢失我设置的所有自定义 listSelector 属性(见下文)。此外,我还有一些其他奇怪的行为,滚动 TextView 的背景项变为黑色(甚至整个 ListView listSelector 完全消失。当我在我的 Droid 上使用键盘时,这些都不会发生。它应该可以正常工作,但是我只是在按下列表项时尝试模拟此功能。我在网上没有找到太多关于如何实现这一点的信息。下面是片段和屏幕截图。
我有一个 ListActivity,我绑定到一个带有自定义列表视图的 ArrayAdapter。此活动所关联的内容视图如下所示:
list_selector 可绘制对象如下所示:
它的 Drawable 只是一个 1x1 栗色像素,用于绘制列表项选择的栗色背景颜色。为了节省空间,我附上了自定义视图的截图:(我的第一篇文章,所以我不能:(
这是定义每个列表项的自定义布局的简短片段(带有选取框 TextView)...
请记住,我知道我需要将 android:ellipsize 设置为“marquee”才能获得滚动,但如上所述,我是以编程方式对当前选定的列表项执行此操作。
有人对此有解决方案吗?在此先感谢,我为冗长的帖子道歉……只是想彻底。再次感谢!
android - Android - 更新后列表返回顶部
我有一个通过 Handler postDelayed() 方法每 2 秒刷新一次的列表。
每 2 秒运行一次 AsyncTask,它发出一个 HTTP GET 请求,将 JSON 转换为对象列表,然后设置 ListAdapter:
我的问题是每次任务完成时(因此,大约每两秒钟)我的列表会跳回顶部,即使我已经向下滚动到列表的中间或底部。这对最终用户来说会很烦人,所以我需要在后台更新列表,就像它正在做的那样,但是列表的当前视图在 AsyncTask 完成时不会跳回顶部。
我可以包含更多需要的代码。我对android开发有点陌生,所以我不确定什么对其他人有帮助。
附加信息
接受 hacksteak25 的建议,我能够尝试从适配器中删除所有数据,然后一次将其添加回一个对象。这不是最终解决方案,因为这可能仍会导致屏幕跳跃,但我试图将其用作我如何在某个时候合并数据的概念证明。
我的问题是我调用以下代码:
在第一次调用“add(myObject)”之后,将调用 MyListAdapter 的 getView() 方法。此时自定义适配器的私有内部 ArrayList 为空,要么是因为我在 onCreate() 中设置了没有 myObjects 的适配器,要么是因为我在适配器上调用了 clear(),我不确定。无论哪种方式,这都会导致 getView 失败,因为 ArrayList 中没有要从中获取视图的对象。
getView() 看起来像这样:
最后一行是导致 IndexOutOfBoundsException 的那一行。
我应该如何处理这种情况,在那里我得到我想要的数据而不导致列表跳转?
android - 什么是“android.R.layout.simple_list_item_1”?
我已经开始学习 Android 开发,并且正在学习书中的 todolist 示例:
我无法完全理解这段代码,尤其是这一行:
android - notifyDataSetChanged 示例
我正在尝试在我Android Application
的notifyDataSetChanged()
方法中使用,ArrayAdapter
但它对我不起作用。
我在这里找到了答案,它notifyDataSetChanged()
应该在主线程中运行,但是没有示例。
任何人都可以发送一个示例或至少一个链接吗?!
java - 对我的 ArrayAdapter 进行排序不会更改我的数据源
我有一个奇怪的问题。我有一个正在排序的 ArrayAdapter。这在我的屏幕上正确显示,但是当我检查实际数据源时,内容尚未排序。如何确保对我的 ListAdapter 进行排序也会对我的数据源进行排序?
例如:如果我的数据源是[10,9,1,20]
排序后我的 ListView 将显示[1,9,10,20]
但数据源仍将是[10,9,1,20]
我该如何解决这个问题?
android - 如何更新 ListView 中的单行?
我有一个ListView
显示新闻项目的。它们包含图像、标题和一些文本。图像在一个单独的线程中加载(带有一个队列和所有线程),当图像被下载时,我现在调用notifyDataSetChanged()
列表适配器来更新图像。这有效,但getView()
被调用太频繁,因为notifyDataSetChanged()
调用getView()
所有可见项目。我只想更新列表中的单个项目。我该怎么做?
我目前的方法遇到的问题是:
- 滚动很慢
- 我在图像上有一个淡入动画,每次加载列表中的一个新图像时都会发生这种动画。