jjzjj

onCreateViewHolder

全部标签

android - RecyclerView onCreateViewHolder 返回类型与多个自定义 ViewHolder 不兼容

我正在尝试在RecyclerView中使用多个ViewHolder,以便在运行时交换这些View。我创建了两个扩展RecyclerView.ViewHolder的类:MenuItemViewHolderpublicclassMenuItemViewHolderextendsRecyclerView.ViewHolderimplementsView.OnClickListener{publicTextViewmenuItemText;publicImageViewmenuItemPhoto;publicRecyclerViewAdapterrva;publicMenuItemViewHo

android - NedtedScrollView 中的 RecyclerView 为每个项目调用 onCreateViewHolder

我有一个案例,我需要在NestedScrollView中使用RecyclerView。问题是在初始化方法期间onCreateViewHolder和onBindViewHolder调用列表中的每个项目(例如100个项目)。所以屏幕上没有回收View,在更复杂的情况下,我在性能方面遇到了很大的问题。我的Activity代码:publicclassMyActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceStat

android - 在 onCreateViewHolder 中创建的 ViewHolder 中手动创建的 View

我想制作通用适配器,让我可以重复使用它。这就是为什么我决定不通过inflating创建View,而是将自定义的、以前创建的View传递给ListAdapter中的ViewHolder(RecyclerView)在onCreateViewHolder中。根据它的文档,它应该是可能的,因为它说:YoucaneithercreateanewViewmanuallyorinflateitfromanXMLlayoutfile.这是我的适配器实现:classBaseAdapter(privatevaladapterConfig:AdapterConfig,privatevalonClick:(T

Android RecyclerView.Adapter onCreateViewHolder() 工作

我正在使用RecyclerView.Adapter,但我对它的方法onCreateViewHolder的工作有点困惑。@OverridepublicRecyclerView.ViewHolderonCreateViewHolder(ViewGroupviewGroup,intviewType){if(viewType==TYPE_ITEM){ViewmView=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.inflate_common_item,viewGroup,false);ViewHoldervh=new

java - 在 onCreateViewHolder 中获取 View 的位置

我正在使用带有ImageView和TextView的单行布局的RecyclerView。我想为View实现OnClickListener,而不是为单独的ViewHolder对象。如何获取适配器中View的位置?现在我正在删除点击评论,但我无法选择点击的View。我在相应的行中添加了一个TODO。publicclassCommentAdapterextendsRecyclerView.Adapter{/**ListofCommentobjects*/privateListmCommentList;/**DatabasewithCommentobjects*/privateComments

android - 使用 RecyclerView 时 notifydatasetchanged 是否调用 onCreateViewHolder

我想使用切换器在两个不同的View之间切换,但使用相同的RecyclerView。基本上,一旦你切换,我希望RecyclerView适配器调用onCreateViewHolder()但这次它将使用不同的布局项文件。notifydatasetchanged()是否会导致适配器自行重建?还是有别的办法? 最佳答案 我的RecyclerViewAdapter上的View也需要有两种类型,一种用于“常规”模式,一种用于多模式-选择模式。因此,您可以覆盖getItemViewType以强制适配器为所有View调用您的onCreateViewH

java - 使用 DPAD 快速滚动时过度调用 RecyclerView onCreateViewHolder

我正在亚马逊FireTV上开发。因为它是一个电视应用程序(无触摸),所以我需要在行的布局内设置焦点以便能够四处导航。我有一个非常简单的Recyclerview,其中包含图像、文本和可聚焦的内容。当我向上或向下按时,它会滚动并正确显示内容,但我注意到当我的导航速度超过滚动可以跟上时,它会创建新的View持有者(屏幕外)并滞后UI。我创建了一个带有创建编号的Activity。当我慢慢滚动时,最高的创造编号是10。但是当我快速滚动时,我会在一秒钟内获得创造编号为60的卡片。这会导致巨大的延迟,并且应用程序会丢掉很多帧。我的方法完全错误吗?使用下面的代码来测试一下。/***Createdbys

java - RecyclerView 没有调用 onCreateViewHolder 或 onBindView

没有出现任何错误,所有数据似乎都有效。出于某种原因,正在调用与View相关的方法。我已经确定了以下几点:getItemCount()是唯一被调用的适配器方法,它返回一个正整数值,(我知道这将是你们要看的区域)正在调用构造函数,成员变量有效。ParentView是一个垂直的LinearLayout;没有ScrollView,或任何其他具有自己滚动属性的View。创建包含fragmentView并显示在屏幕上。这是fragment中的声明,后面是适配器。任何帮助将不胜感激,因为这完全令人困惑。SubMenuAdapteradapter=newSubMenuAdapter(getActivi

java - Recyclerview没有调用任何Adapter方法:onCreateViewHolder, onBindViewHolder,

我的RecyclerView没有调用onCreateViewHolder,所以onBindViewHolder在recyclerview中不会出现什么。我放了调试日志,没有显示日志。可以是什么?我的适配器:publicclassCommentListAdapterextendsRecyclerView.Adapter{privatestaticfinalintEMPTY_VIEW=10;privateArrayListmItems;BooleanfirstTime=true;privateTypefacemTf=null;ContextmContext;publicCommentLis

java - Recyclerview 不调用 onCreateViewHolder

我的RecyclerView不调用onCreateViewHolder、onBindViewHolder甚至MenuViewHolder构造函数,因此中什么也没有出现回收站View。我放了调试日志,没有显示日志。可能是什么问题?我的适配器:publicclassMenuAdapterextendsRecyclerView.Adapter{privateLayoutInflaterinflater;Listdata=Collections.emptyList();publicMenuAdapter(Contextcontext,Listdata){Log.i("DEBUG","Const