问题标签 [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 - 过滤的 ListView 未更新
我有一个带有扩展 ArrayAdapter 的自定义适配器的 ListView。它是 Artist 类型的 ArrayAdapter。
Artist 是一个非常小的类,它有一个名字和一个 ID。Artist 类已覆盖 toString() 以仅返回名称。
我有一个 EditText。EditText 有一个 TextChangeListener 我在我的适配器上调用 .getFilter().filter(chars, callback) 。
在 Filter.Filterlistener().onComplete() 回调中,我打印了计数,它看起来非常好。当我键入时,计数会减少。所以它接缝一切都像宣传的那样工作,但列表保持不变。我试图调用 artistAdapter.notifyDataSetChanged() 来强制列表重绘,但没有任何反应。[见 2.)]
我现在正在修补几天!我很绝望..希望有人可以看看我的代码并告诉我我做错了什么!
谢谢!
这是我所做的:
1.) 像这样定义一个 ListView 和一个 EditText :
2.) 在活动 onCreate() 中设置我的 ListView:
3.) 简而言之,这是我的 ArtistAdapter。我添加了一个 remove() 和 add() 方法:
4.) 我的艺术家也覆盖了 toString():
android - 如何避免重新绘制 ArrayAdapter 中的所有视图
我有一个ArrayAdapter
供电的ListView
。我想更改后面的数据ArrayAdapter
并更新ListView
's. 听起来notifyDataSetChanged();
正是我正在寻找的东西,但它会更新整个ListView
,我更愿意逐行更新。
有没有办法做到这一点ArrayAdapter
,或者如果我想要这个功能,我是否需要以其他方式管理我的数据?
android - 如何使用 ArrayAdapter 为 ListView 编写自定义过滤器
我有一个 ListView,它连接到一个 ArrayAdapter,其中 Artist 是我的一个简单类,它只有一个 id 和一个名称。
现在我想过滤 ListView 所以我打电话:
第一个调试语句打印计数 8。这是以“bla”开头的列表项的正确计数,但适配器没有得到它。第二个调试语句打印计数 1150 项。这是列表中项目的完整数量。
所以不知何故,过滤器不会告诉适配器它已经过滤了底层数据。
我现在想知道:我是否在我的适配器中编写了一些代码,以便它从过滤器中获取更新?我必须编写自定义过滤器吗?我需要做什么?
android - ListView 选择问题...使用 onItemClick(AdapterView parent, View view, ...)
我希望在这里解决的问题是,当我单击该项目中的一个项目时,ListView
该项目的背景变为浅灰色,但是当我继续滚动列表时,即使其他项目有没有被点击。如何使点击只影响我点击的项目?
android - How do I programmatically add a button into the inflated layout from an adapter?
Im using an inflater inside an adapter for my listview. I need to add in a different button depending in the state of the data for each row, so Im thinking I need to do this programmatically, but how do I make sure its inserted into the correct place inside the layout?
android - 如何将我的图像下载器移动到 Android 上的单独线程中?
我在我的 Android 设备上运行了以下代码。它工作得很好,可以很好地显示我的列表项。它也很聪明,它只在 ArrayAdapter 需要数据时才下载数据。但是,在下载缩略图时,整个列表会停止,并且在完成下载之前无法滚动。有没有什么方法可以让这个线程继续滚动,所以它仍然会愉快地滚动,也许显示下载图像的占位符,完成下载,然后显示?
我想我只需要将我的 downloadImage 类放入它自己的线程中,以便它与 UI 分开执行。但是如何将它添加到我的代码中是个谜!
对此的任何帮助将不胜感激。
android - 如何覆盖 android 的 ArrayAdapter 中的过滤器?
我有一个 ArrayAdapter 包裹在自定义对象的 ArrayList 周围。我想为该适配器编写一个自定义过滤器,这样当我调用列表时,getListAdapter().getFilter().filter("abc")
该列表将被“abc”的任意转换过滤。
我以为我会尝试覆盖ArrayAdapter.getFilter()
,但这需要我重新实现私有ArrayAdapter.ArrayFilter
,这需要访问一堆 ArrayAdapter 的私有实例。
最简单的方法是什么?
android - Spinner 无法加载整数数组?
我有一个应用程序,它有一个 Spinner,我想用一些数字(4、8、12、16)填充它。我在 strings.xml 中使用上述项目创建了一个整数数组对象,将 Spinner 的条目设置为整数数组,当我运行应用程序时,我得到:
一旦我将数组更改为字符串数组,它就可以正常工作。这是正常的吗?我意识到我可以(并且将会)将字符串数组值转换为 int,但我必须这样做似乎很奇怪。
谢谢!
编辑:有人吗?任何事物?
android - 使用 ArrayAdapter 在 Android 中自定义过滤
我正在尝试过滤使用此 ArrayAdapter 填充的 ListView:
但是,当我在过滤器上调用 filter('test') 时,什么都没有发生(或者后台线程运行,但就用户而言,列表没有被过滤)。我怎样才能解决这个问题?
android - 没有物理键盘的 Android ListActivity ArrayAdapter 过滤?
我有一个基于 ArrayAdapter 的 ListActivity,其中 setTextFilterEnabled 设置为 true。这在带有物理键盘的设备上运行良好。当我开始在键盘上输入内容时,这些项目会被过滤。
我的问题是如何在没有物理键盘的设备上获得相同的行为?