Tag: android mvp

为什么只有最新的订阅者使用Kotlin和RxMVP才能在Android上的RxJava上进行下一个事件

鉴于以下情况: 以CheckBox和多个EditText为特色的View 该View使用杰克·沃顿的RxBinding来访问Observables 对象 fun observeUsername(): InitialValueObservable = RxTextView.textChanges(et_username) 对于EditText (有三个,用户名,密码和电子邮件)和 fun observeSignUpCheckBox(): InitialValueObservable = RxCompoundButton.checkedChanges(cb_sign_up) 为CheckBox Presenter每个EditText都有一个方法,就像 fun observeUsernameText(): Disposable { return view.observeUsernameText() .skipInitialValue() .map { username -> StringUtils.isValidUsername(username.toString()) } .subscribe({ view.setValidUsername(it) }) } 和CheckBox一个方法: fun observeSignUpCheckBox(): Disposable { return view.observeSignUpCheckBox() .subscribe({ checked -> Timber.d(“### view trigger”) }) } 所有这些方法都在Presenter的onCreate中调用,一切按预期工作。 现在的问题: 我在Presenter中添加了一个用于validation用户输入的新函数: fun observeInputFields(): […]

lateinit属性主持人还没有被EasyMVP,Robolectric和Kotlin初始化

尝试使用Robolectric测试正在使用EasyMvp的活动时遇到问题。 所有的课程都是用Kotlin写的。 这是一个活动的开始: @ActivityView(layout = R.layout.activity_access, presenter = AccessPresenterImpl::class) class AccessActivity : BaseActivity(), AccessView { @Presenter lateinit var presenter: AccessPresenter override fun providePresenter(): BasePresenter? { return presenter } 在onStart上,每个活动都在演示者中初始化临时演员。 我试图在我的应用程序中介绍Robolectric测试。 var activity: AccessActivity? = null var loginEditText: EditText? = null var passwordEditText: EditText? = null @Before fun initData() { activity = Robolectric.setupActivity(AccessActivity::class.java) loginEditText = activity?.findViewById(R.id.loginEditText) […]

匕首与Kotlin上的Mvp – Android

我是刚刚进​​入Kotlin的Android开发人员,我一直试图在Kotlin上设置Mvp Dagger应用程序,但我无法弄清楚发生了什么事情。 我继续得到这个错误: Error:dagger.internal.codegen.ComponentProcessor was unable to process this interface because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code. 这是我的代码: KotlinApplication: class KotlinApplication: MultiDexApplication(), HasActivityInjector { @Inject lateinit var injector: DispatchingAndroidInjector override fun onCreate() { super.onCreate() inject() } override fun activityInjector(): AndroidInjector { return […]

从Activity 中调用Fragments演示者的方法

我有2个不同的片段,他们都将通过2个不同的活动使用。 在两个活动的布局中,都有一个框架布局用作碎片容器。 哪个是; 碎片:MapFragment,ListFragment 活动:HomeActivity,SearchActivity。 让我们谈谈HomeActivity; HomeActivity会将ListFragment和MapFragment注入到onCreate活动中,并将注入的片段推送到它的布局(首先是列表片段),之后活动将调用注入片段的呈现器方法在列表或地图上显示服务结果。 代码; 片段一面; @CustomScope @Component(dependencies = NetComponent.class, modules = {ChallengeListFrgModule.class, ChallengeRepositoryModule.class}) public interface ChallengeListFrgComponent{ void inject(ChallengeListFragment fragment); } _ @Module class ChallengeListFrgModule(private val mView: ChallengeListFrgContract.View) { @Provides internal fun providesChallengeListFrgContractView(): ChallengeListFrgContract.View { return mView } } ListFrgPresenter: public class ChallengeListFrgPresenter implements ChallengeListFrgContract.Presenter { //region Variables ChallengeListFrgContract.View mView; ChallengeRepository challengeRepository; […]