问题标签 [android-viewholder]

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 回答
22586 浏览

android - Android:如何在 CardView 中插入 RecyclerView?

我正在谈论的活动必须将由CardViews填充的RecyclerView显示为项目。我的目标是在每个 CardView 中依次显示一个 RecyclerView。

这是我的 Activity 的基本 xml:

这是我的 CardView 的 RecyclerView 的布局:

因此,我大胆地进行了第一次尝试,实现了两个RecyclerView.Adapters,一个用于(我们称之为)“主” RecyclerView,一个用于每个 CardView 中的单个 RecyclerView:

下面是两段代码:

“主要” RecyclerView(带 ViewHolders):

项目的 RecyclerView(带 ViewHolder):

如您所见,我认为在第一个适配器中实例化第二个适配器是正确的,并且为每个项目的 RecyclerView 附加一个新的 LayoutManager 并设置第二个适配器。但是你可以看到我的“主要” Rec.View 的前两项不包含另一个 Rec.View 工作得很好,但其他人没有。

带有 RecyclerView 的项目没有像应有的那样显示

我该如何解决这个问题?拜托,我没有想法。

0 投票
2 回答
12313 浏览

android - Android: RecyclerView.Adapter doesn't work as expected

My question id directly related to @Richard's one about the method onBindViewHolder() within the RecyclerView.Adapter is not called as he (and I) expected it to do.

I noticed that this method is called correctly until the end of my dataset (9 CardViews, scrolling down), but when I try to get back (scrolling up) it's not called anymore. The real problem is that in there I make my changes in the dataset and call notifyDataSetChanged(), but with this strange (to me) behavior my modifications don't take place when they are supposed to do.

The picture I attach wants to try to clarify:

  • I reach the bottom of the Rec.View (cardView - Supine: everything's fine);
  • dealing with the cards already showed completely or partially there is no problem (Supine, Gerund and Participle);
  • but when I reach the first cardView completely obscured, onBindViewHolder() is not called anymore and I can see from the debug that the dataset linked to the adapter is the "Supine" one, and here it is: the Supine cardView is showed.

Scrolling up from the bottom of the RecyclerView - Sorry for the quality

I thought that it was the exact same issue Richard faced in his question, and I tried his exact same solution: I forced setHasStableIds() to true in my Adapter's constructor,

where itemMap is the Map I implement in my activity to set the unique ids of my dataset,

and overrode getItemId() this way:

But as you can see from the picture I still get this result: any idea, please?

Edit

The implementation of itemMap in my activity:

where conj_items is the ArrayList I pass to the Adapter.

0 投票
3 回答
5872 浏览

android - 具有查看器和复选框状态保存的 ListView

简单的购物清单应用程序。ListView(带有自定义适配器的TextView + CheckBox。试图实现viewHolder模式并完全丢失。我对吗?检查我的代码。还有如何保存复选框状态?我创建了大量,但不知道如何实现(滚动错误时取消选中)。

适配器:

}

物品:

}

0 投票
1 回答
1844 浏览

android - 当我从同一 ListView 行更新不同的 TextView 时,TextView 滚动正在重置

我有一个列表视图,对于特定项目,我每秒刷新剩余时间。它工作正常,但我有一个小错误。每当我打电话

要更新该值,同一行中的另一个 textView 会受到影响。This other textVewi 显示一个 scolling 文本

并且每当我更改第一个 textView 值时,第二个会重置滚动并从头开始滚动。看起来只有当我在 ListView 中执行此操作时才会出现此问题

知道如何解决这个问题吗?

0 投票
1 回答
849 浏览

android - Android,view Holder 没有正确更新listview

我正在将数据从数据库读取到我的列表视图中,我可以在列表视图中看到信息,每行中的数据分为左右两部分。当我在列表视图中滚动时,项目没有正确更新。列表视图右侧的一些项目正在向左侧移动,反之亦然。我可以通过在 getView() 下直接设置 convertView = null 来解决这个问题,这是一个非常糟糕的解决方案!如何正确解决问题?

代码链接:

xml“ http://pastebin.com/rCbeBS6E

ChatFragment“ http://pastebin.com/xMFCm62s

}

0 投票
1 回答
233 浏览

java - Listview 慢速滚动

我正在使用 ListView,它的每个项目都包含一些控件。当我向下滚动这个 Listview 时,它非常慢。我知道 ViewHolder 模式用于解决这个问题,我实现了这个模式。但这并不能解决我的问题。

我的 listview 项目的 xml 是

我的代码是

而 ViewHolder 是

但它不能正常工作 - 再次滚动时我面临着低性能。我哪里错了?

UPD

UPD2

0 投票
1 回答
37008 浏览

android - RecyclerView Adapter 和 ViewHolder 动态更新

我正在尝试制作一个将从网络加载新闻并动态更新的应用程序。我正在使用RecyclerViewandCardView来显示内容。我Jsoup用来解析网站。我认为不需要我的代码,因为我的问题是理论性的而不是实际的。我想了解使用notifyDataSetChanged(). 在我的主要活动中,我获取所有标题并将它们添加到列表中。但我需要等到所有项目都加载完毕才能开始显示它们。如果有人可以发布我正在尝试做的示例代码,我将不胜感激,因为我找不到很多关于组合ViewHolder,AdapterRecyclerView.

0 投票
1 回答
240 浏览

android - 使用适配器将项目加载到可扩展列表视图

我试图在 2 个活动之间传输数据,然后使用适配器显示。早些时候我使用相同的适配器来显示列表,但这在我的适配器中产生了几个错误,我在下面的代码中显示了它们。

谁能弄清楚我应该怎么做才能纠正它。任何帮助,将不胜感激。

通过这些细节的第一个活动,

第二次活动

CustomGridPastaCart、BaseAdapter

} }

项目.java

在此处输入图像描述

0 投票
1 回答
59 浏览

android - Listview 和消失的西班牙语单词

我的应用程序中有一个带有自定义行布局的列表视图。问题是滚动时随机出现/消失的一些单词。这个词包含来自西班牙语的字母,例如áü等等。

例如:在创建的活动中,我可以在列表视图中看到标题为“我住在纳赫拉”的行(纳赫拉是西班牙的一个小镇)。当我滚动列表视图时,有时我只能看到“我住在”,而在其他时候一切都很好,就像它应该的那样:“我住在 Nájera ”。

我在我的应用程序中有一个带有这个字符串的 sqlite 表,并从 sqlite 加载它们。我能做些什么来修复它?

编辑

适配器:

项目清单:

编辑数据库控制器

0 投票
1 回答
904 浏览

android - 应用程序在滚动列表时崩溃

在我的应用程序中,我正在显示地图和项目列表。我正在使用 google place api 来获取最近的地方并在地图上显示为具有名称和附近以及列表的标记。这是我的代码

GooglePlacesActivity.java

PlaceAdapter.java

当我滚动列表时,应用程序崩溃并生成 NullPointerException。

这个错误正在生成