问题标签 [conductor]

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 投票
1 回答
1819 浏览

android - 如何从 Conductor 的路由器后端堆栈中删除控制器?

我正在使用Conductor和 Mosby 在 android 应用程序中实现 MVP-MVC 架构。
我需要做的是从路由器的后端移除一个控制器,onBackPressed这样控制器就不再回到前面。

0 投票
1 回答
876 浏览

wpf - Caliburn.Micro:使用 Conductor 在页面之间移动:如何从子类调用父类方法或属性?

这是我的主要父类 ViewModel:

这是我的子类之一,ViewModel:

这是继承 Caliburn.Micro 类 Conductor 的类:

问题是:如何从子页面'Child1PageViewModel'调用父页面'MainPageViewModel'中存在的方法或属性???

0 投票
1 回答
788 浏览

android - Android Conductor ArcMotion 示例

我正在尝试从https://github.com/bluelinelabs/Conductor库中了解演示示例。

运动看起来像这样

在此处输入图像描述

这是代码,负责动画

它怎么知道应该为 FAB 执行该动作?如何为 FAB 执行弧形运动,但将屏幕上的所有其余元素设置为 FadeOut?

0 投票
1 回答
7376 浏览

kotlin - 如何将 lateinit Kotlin 属性设置为 null

下面的类有一个非常独特的生命周期,这需要我暂时清空lateinit属性

} }

这是框架使用它的方式。

我的lateinit属性是由 dagger 注入的,我需要将它们设置为nullin onDestroyView- 或者有内存泄漏。然而,据我所知(没有反思),这在 kotlin 中是不可能的。我可以使这些属性为空,但这会破坏 Kotlin 的空安全性的目的。

我不太确定如何解决这个问题。理想情况下,可能有某种类型的注释处理器会生成 java 代码以自动清除特定变量onDestroyView

0 投票
1 回答
697 浏览

android - 使用单活动应用程序时如何组织 Dagger2 模块和组件

我有一个应用程序,比如说 15 个屏幕。有 3 个主要的、完全独立的活动:

  • LoginActivity- 很明显的一个,一些登录的东西
  • MainActivity- 最重要的,最重要的
  • TheOtherOneNotRelevantAtTheMoment

我决定使用Conductor,因为我发现 Fragment 的生命周期太复杂了,对我Conductor来说现在是“热狗屎”

我有很多指挥家的控制器。它们中的大多数都XXXListController与对应的XXXDetailController. 所有这些控制器都只存在于内部MainActivity。这有点像“单一活动应用程序”。LoginActivity主要是由于 FbLogin 和 Google Login 等第三方 OAuth 的回调而引入的。我只是想MainActivity完全属于我 - 没有任何其他奇怪的行为。

为了稍微组织依赖关系,我决定使用 Dagger2。我在 Spring 和 JavaEE 方面有很好的经验,所以我认为这很容易。

我认出了几个没有任何问题的模块:

AppModule- 与我的应用程序相关的东西,如服务器地址等 AndroidModule- 与类似的东西SharedPreferencesApplication

然后,我几乎“即兴创作”了如何组织我的观点。这就是我所拥有的:

  • 3 个附加范围:ActivityScopeControllerScopeServiceScope- 不相关。
  • 每个Controller都有自己对应的Module& Component。我读过这不是一个好主意,但我可以接受 - 每个Controller都是非常独立的,并且有自己独特的依赖项集。
  • ApplicationComponent当然是层次结构的根。
  • MainActivityComponent@Subcomponent一个ApplicationComponent
  • XXXControllerComponent@Subcomponent一个MainActivityComponent

MainActivity要在我使用的内部注入依赖项,我发现这段代码很常见:

当我想创建和注入依赖项到我Controller的 s.

MainActivity外观如下:

目前,典型的Controller看起来是这样的:

和相应的Module

基本上每个都Controller应该是单例的——我不想在里面有两个实例MainActivity——但这不是“必备”。

问题是如何创建Controller正确的方法。目前,MainActivity请执行以下操作:

我不确定这一点,为什么要Controller手动创建?

Controller在里面onCreateView()我已经注入了所有需要的依赖项——在我看来以非常丑陋的方式:

这个长长的问题帮助我整理了关于 Dagger 的知识——也许有人觉得它有帮助。但!对于那些到达这条线的Stackoverflowers,这是一个好方法还是有其他更好的方法来做到这一点?

0 投票
1 回答
695 浏览

java - 在 (Espresso) Android 仪器测试中启动特定的导体控制器

我正在为使用Conductor编写的应用程序编写 Espresso 测试。我想为每个测试指定要启动哪个控制器,这样我就不需要让 Espresso 从每个测试的开头 Activity 中单击应用程序。由于只有一个 Activity 并且在 SO 或 google 上没有太多关于 Conductor 的内容,所以我能找到的最接近的是这个问题?或者这是不可能的?

我尝试将路由器设置为静态并添加一个吸气剂以尝试设置特定的根以进行测试,但没有成功。

android.view.ViewRootImpl$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。

在 MainActivity 中:

在仪器测试中:

0 投票
1 回答
265 浏览

android - 嵌套 RouterPagerAdapter 不恢复旋转状态

根控制器,它有一个RouterPagerAdapter,主机控制器 A 有它自己的RouterPagerAdapter

控制器 A1 由控制器 A 托管

轮换后,根控制器、A 和 A1 收到它们的onSaveInstanceState/onSaveViewState,但 A 和 A1 都没有收到它onRestoreInstanceState/onRestoreViewState

为什么会这样?确保所有孩子的状态恢复的正确实施是什么?

0 投票
0 回答
611 浏览

android - 使用 Android DataBinding 的共享元素转换

我将 Conductor API 与 Android DataBinding 一起使用,并且一直在尝试从控制器视图到另一个控制器视图进行简单的共享元素转换,但它不起作用。

从 demoS 列表中点击“Android Databinding”演示将带您进入一个屏幕,点击显示的 textView 应将其转换到下一个屏幕。

但目前它正在淡出。

这是我的事情的叉子,这是相同的

更新:我认为我的BindedBaseController类有问题?

0 投票
1 回答
1256 浏览

android - 如何在 Android Conductor 中保留方向变化的视图状态?

我目前正在学习 Android 的 Conductor 框架,但对它的工作原理有一点问题或误解。

我的印象是该方法

setRetainViewMode(RetainViewMode.RETAIN_DETACH);

将在控制器中保存视图的状态。为了测试这种行为,我添加了 EditText 视图,在其中输入了一个值并旋转了屏幕。我还添加了 2 个附加了 onclick 侦听器的视图,更改了 onclick 的背景颜色

测试的结果是 EditText 视图保持了状态并保留了输入的值。但是 2 个视图,改回原来的背景颜色(无)。

无论设置了哪个 RetainViewMode,这都是视图的行为

我有这个简单的 MainActivity(注意:我正在用 Kotlin 编写):

这是TestController:

和xml布局文件controller_layout_test:

activity_main xml 布局如下所示:

0 投票
1 回答
712 浏览

conductor - Android Conductor - 如何将一个控制器插入另一个控制器作为视图?

我有一些具有自己实现的控制器类。是否可以将一个插入另一个作为视图组中的视图?