问题标签 [epoxy-modelview]

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

android - airbnb 环氧树脂 - 如何插入新物品

我在理解环氧树脂在 Android 中的工作原理时遇到问题。这里也有教程

想象一下我有一个适配器如下:

这是按照这里的例子

我将如何插入有关“您朋友喜欢的照片”的新项目。所以我想要一个新的标题来写“你朋友喜欢的照片”,然后我需要实际添加我已经存储在模型中的照片。

我是否只需执行以下操作即可使其正常工作:

我对“模型”类有点困惑。例如,我认为会有一个 PhotosModel 类和一个 PhotoFriendsModel 类等,而不是从示例中我看到一个 HeaderModel 和 LoaderModel。我认为每个项目行类型都应该有一个模型。有人可以解释一下。

更新:

让我们说我有更多信息,而不是照片。可以说我有关于照片拍摄地址的信息。所以现在在所有照片都显示在照片正下方之后,我想显示每张照片拍摄的地址的巨大列表。告诉我如何添加地址列表?

0 投票
2 回答
2870 浏览

android - 使用 Dagger 时在 Epoxy 控制器中实现 onClick 的最佳方法是什么

我正在尝试在RecyclerView使用 airbnb.epoxy 的项目上实现 Click 功能。问题是我需要上下文才能在单击时导航到另一个活动。

我做了什么: 在 Epoxy 的示例应用程序之后,我在 EpoxyController 内实现了一个接口,其中包含在单击回收器视图中的项目时要调用的函数。然后我让我的主活动实现这个接口和方法,并在主活动中使用它的构造函数实例化控制器,并将一个对活动的引用传递给它:

主要活动的 onCreate 和onMortgageClick

在上述工作时我想做什么Dagger2,我在我的项目中使用并想将控制器注入到MainActivity,注入它不是问题,而是提供活动上下文,经过一些研究,我发现环氧树脂允许活动注入,所以我想我可以将主要活动注入控制器,但我不确定这是最好的方法,也找不到实现这个的示例项目。

请告诉我最好的方法是什么

0 投票
1 回答
310 浏览

kotlin - 环氧树脂,Kotlin:使用 @ModelView 不会产生任何错误

我成功地让环氧树脂从此生成代码EpoxyModelClass

但不幸的是不是来自ModelView. 它构建没有错误,但没有生成围绕此的环氧树脂类:

尝试了许多变体以使其正确,但构建日志中没有有用的错误。

0 投票
2 回答
791 浏览

java - 为什么 Epoxy 不生成模型类?

我想用 Epoxy 对我的 recyclerView 使用 kotlin,但是 Epoxy Model 没有生成 PostModel_() 类,有什么问题吗?

0 投票
0 回答
99 浏览

android - Airbnb Epoxy For Gmail 类似仪表板界面

正在构建一个显示对象列表的应用程序。我现在正在使用 android recycler 视图。

现在根据新要求,我想按组显示此列表,类似于本问题中所述

我的问题是:

  1. 我可以使用Airbnb Epoxy来实现它吗?
  2. 环氧树脂会过大吗?
  3. 还是我应该只使用 SO 问题中提供的解决方案?

请指教。谢谢 !

0 投票
1 回答
574 浏览

android - 环氧树脂:如何使用 @AutoModel 注释并在没有控制器的情况下处理点击?

我开始使用环氧树脂库,因为我正在寻找一个库来在使用RecyclerView组件时编写更少的代码。

EpoxyRecyclerView似乎是一个很棒的组件,因为您可以简单地给出模型(基本上是一个简单的列表),这要归功于该setModels方法。

问题 1

第一个问题是:是否可以在@AutoModel不使用控制器的情况下自动为模型设置 id(使用?)?

例如,我有以下DataBindingEpoxyModel课程:

我在我的Fragment

此代码崩溃,因为我没有设置id实例HeaderModel_()AutoModel注释只能在字段上使用,那么有没有办法在没有控制器的情况下自动为我的模型实例设置一个 id ?

问题2

第二个问题是:是否可以在不使用控制器的情况下处理点击?

使用问题1的代码,如何处理对布局的几个小部件的点击(在我的例子中,点击TextView或点击itemView)?有没有办法覆盖所使用的持有人DataBindingEpoxyModel,以便直接处理点击进入持有人?

就我而言,我不想将 定义OnClickListener为 my 的属性,HeaderModel因为我想为该类型的所有模型定义相同的行为HeaderModel(不使用控制器)。

提前感谢您的帮助!

编辑:我找到了问题 2 的答案。我只需要覆盖bind. DataBindingEpoxyModel但是我没有找到一种方法来自动将 id 设置为没有控制器和@AutoModel注释的模型。

0 投票
1 回答
2339 浏览

android - 如何在airbnb Epoxy中分配网格跨度?

我已经开始学习如何在我的项目中使用 Epoxy。我通过运行示例项目来学习这个库。一切都很好,直到我深入研究网格跨度设置。我发现自己对它的网格系统感到困惑。

在此处输入图像描述

正如您在示例应用程序中看到的,ViewHolders 可以分为 3 个部分。HeaderViewModel_这些部分可以特别在模型中表示,例如ButtonBindingModel_CarouselModelGroup

而init RecyclerView的代码如下:

根据官方文档:

如果使用 GridLayoutManager,这将自动将跨度计数与 EpoxyController 同步。

我发现HeaderViewModel_CarouselModelGroup正确同步了跨度,但ButtonBindingModel_不是。我一直在示例代码中搜索“span”或“grid”这个词,我只是想不通为什么ButtonBindingModel_可以将其 span 设置为 1。

如果我将 RecyclerView 的跨度设置从 2 更改为 3:

在此处输入图像描述

HeaderViewModel_并且CarouselModelGroup仍然保持同步整个跨度,但跨度ButtonBindingModel_仍然是 1。

我想知道是否有一种方法可以将跨度设置ButtonBindingModel_为全跨度,以及设置HeaderViewModel_CarouselModelGroup特定跨度的方法,无论是通过代码(以编程方式)还是通过布局。请帮我解决这个问题,我很感激。

0 投票
0 回答
695 浏览

android - 如何使用 Epoxy 在列表中实现可折叠/可扩展项目?

如何使用Epoxy Android 库正确实现折叠/展开项目?我浏览了wiki示例应用程序,但找不到任何示例或解释如何在列表中准确实现此类行为?

在此处输入图像描述

0 投票
0 回答
1896 浏览

android - 无法更新 Epoxy Controller 中数据更改的视图

我正在为 Recycler View 使用 Epoxy Controller。在用户操作更改数据后,我无法更改视图。

基本上,我在视图中有一个切换按钮,该按钮在回收站视图中使用,我正在尝试更新切换按钮状态更改的视图。我在环氧树脂控制器的 setProductList() 函数中调用 requestModelBuild(),但更改未反映在视图中。

}

}

在 addProductListingChangeObserver() 函数中,productList 的一个对象被修改,新的 productList 被传递给 EpoxyController 并调用 requestModelbuild,但视图没有按预期进行修改。

0 投票
2 回答
349 浏览

java - 环氧树脂处理器异常:无法获取视图模型视图的布局资源

我尝试根据他们的Wiki文档创建 Epoxy ModelView。我收到此错误:“环氧树脂处理器异常:无法获取视图 TitleModel 的布局资源”

这是我的 Java 代码: