问题标签 [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.

0 投票
3 回答
5254 浏览

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():

0 投票
1 回答
597 浏览

android - 如何避免重新绘制 ArrayAdapter 中的所有视图

我有一个ArrayAdapter供电的ListView。我想更改后面的数据ArrayAdapter并更新ListView's. 听起来notifyDataSetChanged();正是我正在寻找的东西,但它会更新整个ListView,我更愿意逐行更新。

有没有办法做到这一点ArrayAdapter,或者如果我想要这个功能,我是否需要以其他方式管理我的数据?

0 投票
2 回答
14925 浏览

android - 如何使用 ArrayAdapter 为 ListView 编写自定义过滤器

我有一个 ListView,它连接到一个 ArrayAdapter,其中 Artist 是我的一个简单类,它只有一个 id 和一个名称。

现在我想过滤 ListView 所以我打电话:

第一个调试语句打印计数 8。这是以“bla”开头的列表项的正确计数,但适配器没有得到它。第二个调试语句打印计数 1150 项。这是列表中项目的完整数量。

所以不知何故,过滤器不会告诉适配器它已经过滤了底层数据。

我现在想知道:我是否在我的适配器中编写了一些代码,以便它从过滤器中获取更新?我必须编写自定义过滤器吗?我需要做什么?

0 投票
2 回答
10823 浏览

android - ListView 选择问题...使用 onItemClick(AdapterView parent, View view, ...)

我希望在这里解决的问题是,当我单击该项目中的一个项目时,ListView该项目的背景变为浅灰色,但是当我继续滚动列表时,即使其他项目有没有被点击。如何使点击只影响我点击的项目?

0 投票
1 回答
1718 浏览

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?

0 投票
3 回答
1494 浏览

android - 如何将我的图像下载器移动到 Android 上的单独线程中?

我在我的 Android 设备上运行了以下代码。它工作得很好,可以很好地显示我的列表项。它也很聪明,它只在 ArrayAdapter 需要数据时才下载数据。但是,在下载缩略图时,整个列表会停止,并且在完成下载之前无法滚动。有没有什么方法可以让这个线程继续滚动,所以它仍然会愉快地滚动,也许显示下载图像的占位符,完成下载,然后显示?

我想我只需要将我的 downloadImage 类放入它自己的线程中,以便它与 UI 分开执行。但是如何将它添加到我的代码中是个谜!

对此的任何帮助将不胜感激。

0 投票
1 回答
5432 浏览

android - 如何覆盖 android 的 ArrayAdapter 中的过滤器?

我有一个 ArrayAdapter 包裹在自定义对象的 ArrayList 周围。我想为该适配器编写一个自定义过滤器,这样当我调用列表时,getListAdapter().getFilter().filter("abc")该列表将被“abc”的任意转换过滤。

我以为我会尝试覆盖ArrayAdapter.getFilter(),但这需要我重新实现私有ArrayAdapter.ArrayFilter,这需要访问一堆 ArrayAdapter 的私有实例。

最简单的方法是什么?

0 投票
2 回答
7890 浏览

android - Spinner 无法加载整数数组?

我有一个应用程序,它有一个 Spinner,我想用一些数字(4、8、12、16)填充它。我在 strings.xml 中使用上述项目创建了一个整数数组对象,将 Spinner 的条目设置为整数数组,当我运行应用程序时,我得到:

一旦我将数组更改为字符串数组,它就可以正常工作。这是正常的吗?我意识到我可以(并且将会)将字符串数组值转换为 int,但我必须这样做似乎很奇怪。

谢谢!

编辑:有人吗?任何事物?

0 投票
5 回答
79921 浏览

android - 使用 ArrayAdapter 在 Android 中自定义过滤

我正在尝试过滤使用此 ArrayAdapter 填充的 ListView:

但是,当我在过滤器上调用 filter('test') 时,什么都没有发生(或者后台线程运行,但就用户而言,列表没有被过滤)。我怎样才能解决这个问题?

0 投票
1 回答
1070 浏览

android - 没有物理键盘的 Android ListActivity ArrayAdapter 过滤?

我有一个基于 ArrayAdapter 的 ListActivity,其中 setTextFilterEnabled 设置为 true。这在带有物理键盘的设备上运行良好。当我开始在键盘上输入内容时,这些项目会被过滤。

我的问题是如何在没有物理键盘的设备上获得相同的行为?