问题标签 [listview-adapter]

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 投票
2 回答
1112 浏览

android - Android ListView - adapter.notifyDataSetChanged 和使用新适配器之间的区别

我的问题是基于这篇文章。

安卓。notifyDataSetChanged() 方法和 ListViews 是如何工作的?

我在各种文章中读到刷新你必须调用的 listViewnotifyDataSetChanged() 而不是listView.setAdapter(new Adapter(....));因为第二种方法成本太高并且影响性能

上述问题的答案表明,这adapter.notifyDataSetChanged()会影响当前在屏幕上可见的视图。sogetView()被调用的次数与当前显示的项目数一样多。

但是getView()在将新适配器分配给 listView 时也会调用相同的次数。

adapter.notifyDataSetChanged()那么 call和 和有什么区别listView.setAdapter(new Adapter(....));

0 投票
1 回答
55 浏览

android - 视图在自定义适配器中占据另一个视图的位置/位置

我有一个我正在显示的图像列表,使用通用图像加载器,现在我试图在位置 4 之间放置一个广告,但是这个广告正在替换那个位置的图像。当查看位置和网址一切似乎都很好。自定义适配器有问题吗?或者是否可以在 xml 中做一些事情?

0 投票
1 回答
960 浏览

android - android ListView适配器方法getViewTypeCount()在adapter.notifyDataSetChanged()时不会触发

我希望我的列表视图每 10 个项目加载一次,而不希望我的列表视图重用项目。

1.我加载10个项目并将适配器设置为listview,在适配器类中我调用getViewTypeCount()这样的方法。(itemList 中的当前有 10 个)

2.我在 getViewTypeCount() 中调试它返回值 10。

3.然后我将新的 10 项添加到 itemList(itemList 中的当前有 20 个)并调用 adapter.notifyDataSetChanged()

4.当我向下滚动列表视图时它可以工作,但是当我向上滚动时它是错误的(不幸的是)

5.我发现了这个问题,因为 getViewTypeCount() 在 adapter.notifyDataSetChanged() 之后没有触发它没有返回 20(我知道因为我在 getViewTypeCount() 中测试返回 500 它是工作而不是错误。)

6.我希望我的列表视图每 10 个项目加载一次,并且我不希望我的列表视图重用位置。怎么解决的。。

编辑

这是我的适配器类

}

0 投票
1 回答
141 浏览

android - ListView 部分分隔符跳跃和相乘

我的 ListView 快疯了,我不知道为什么。

在这里,在适配器中,我使用 VISIBLE/GONE 方法放置了一个 ListView 部分分隔符。出于测试目的,我将 if 语句设置在位置 0。现在,我希望节分隔符仅在位置 == 0 列表项上方可见,但它变得非常有趣:

起初它看起来不错,但是当我向下滚动 listView 时,我可以看到,部分分隔符不仅在 position == 0 中,而且在随机位置,它们不应该在那里。最重要的是,当我向后滚动时,分隔符被混合到另一个列表项中,所以不是一个分隔符,而是在随机位置有随机数,发生了什么,我应该怎么做才能修复它?

哦,这是我的适配器:

}

谢谢 ;)

0 投票
1 回答
945 浏览

java - 添加其他项目后 ListView 不刷新

我打算向 ListView 添加额外的项目,然后刷新 ListView 以显示这些项目。但是,我相信正在添加这些项目(因为当我旋转时,ListView 会刷新并显示新项目)但当前没有发生刷新。

最初将项目添加到 ListView。我使用getData。之后,每次单击“添加更多”项时,都会从 getDataMore 中检索数据。我已经尝试过诸如 addAll() 和 notifyDataSetChanged() 之类的函数,但我相信我的结构有问题。

FragmentA - 包含带有单击侦听器的 ListView 的片段:

getData - 检索第一次创建 ListView 时的数据:

getDataMore - 添加到已创建的 ArrayLists 中的是 getData:

如果有帮助 - CustomList 适配器:

0 投票
0 回答
92 浏览

android - 无法在 Listview 项目按钮单击和插入数据库中的数据上应用功能

这是 onItemClick 函数,我可以在数据库中单击项目时插入值。使用这行代码,我可以更新数据库中的值。 dbManager1.updateNotification(NotifcationSenderid, "4");

但我想要是或没有按钮我想要在该按钮单击中更新值,但我无法做到没有更新:

此数据库功能在项目上单击其工作正常但是当我尝试使用 Ad-pater 更新是或否按钮但我无法更新时我调试然后result =mContext值变为终止请建议哪里做错了。

0 投票
1 回答
711 浏览

android - 简单的 Android 片段的框架没有被显示

我正在学习片段,并使用了开发人员网站上的示例代码。我添加了这个http://nhaarman.github.io/ListViewAnimations/#getting-started 用于启用列表上的滑动和删除操作。

我有 2 个问题 1. 当我的手机处于横向模式时,我似乎根本看不到详细信息窗格。2.滑动后无法移除对象,滑动完成后出现

土地\fragment_layout

片段布局

0 投票
1 回答
175 浏览

android - 从 ListviewAdapter 刷新 Android 上的 GoogleMap

我目前正在创建一个谷歌地图应用程序,并试图在用户单击列表视图中的项目后刷新它。但是,由于 listviewadapter 位于代码的不同部分,这并没有按计划进行。我尝试了多种方法,包括将代码的某些部分转换为static但这只会破坏谷歌地图代码。

这是地图所在的主要活动中的代码:

}

下面是 ListViewAdapter 活动的代码:

有什么建议么?我很想添加一个更新功能,当用户单击列表项时,它将检查静态布尔值是否从 false 变为 true,但是我相信应该有比这更简单的方法

编辑:我setOnItemClickListener在主要活动中添加了 并输入了一个 Log.d 字符串只是为了查看它是否有效,并且在点击列表中的四个城镇名称中的任何一个后我没有收到任何东西

0 投票
2 回答
1159 浏览

android - 如何根据列表视图中复选框的状态更新文本视图文本

这是我的自定义 ListViewAdapter

现在我想在列表视图中单击复选框的那一刻更新我的文本视图,但直到现在它没有按预期执行,但是当我向下滚动并查看选中的项目时,文本视图已更新

请帮助我提前谢谢

0 投票
1 回答
121 浏览

android - 更新 EfficientAdapter ListView Android 中的特定行

下面的 Util.class 包含一个最大 2 个 int 数的静态 ArrayList。

在我的 getView() 适配器方法中,我尝试更改 textview 并使图像仅对位置 3 和 5 可见。问题是图像视图只有最后一个元素可见,我无法显示 3 号图像视图。我怎样才能让适配器内部的两个图像视图都可见。这是我的 getview 方法。