草庐IT

android - 在 Android MVP 中,presenter 应该返回一个值吗?

我尝试学习MVP,我有一些问题想问,presenter应该返回一个值吗?像这样:classMainPresenter:BasePresenter(),MainContract.Actions{overridefungetProducts(id:Int):List{//...returnproducts}}interfaceMainContract{interfaceActions{fungetProducts(id:Int):List}}或者像这样:classMainPresenter:BasePresenter(),MainContract.Actions{overridefunge

android - Kotlin 通过 Intents 传递自定义对象数组并作为 ArrayList 接收

我有几个Activity,我使用Intents在它们之间传递数据。我想从第一个Activity传递一个自定义对象数组,并在第二个Activity中将其设为数组列表。我的代码是:dataclassAttachment(valName:String,valContent:String)classActivityA{privatevarattachments:Array=arrayOf()funcallB(){intent=Intent(this,ActivityB::class.java).apply{putExtra("Attachments",attachments)}}}classA

android - 当我们在 kotlin 中开始新的 Activity 时,为什么我们将 .java 放在 intent 中而不是 .kt

根据kotlin文档,我们使用以下语法开始新ActivitystartActivity(Intent(this@MainActivity,NextActivity::class.java))它是kotlin那么为什么我们在类之后添加.java呢?为什么不呢? 最佳答案 因为NextActivity::class给你KClass,和KClass有一个名为java的方法/扩展属性这给了你java.lang.Class对于给定的类。你甚至可以checkoutthesource-codeforthatjavaproperty.

android jetpack 项目给出 archlifecycleversion 构建错误

我是android开发的新手,刚刚按照本教程在androidstudio3.2(canary)中创建了我的第一个“helloworld”项目。https://developer.android.com/jetpack/docs/getting-started然后我就做了Build->makeprojectprojecttryedtobuildandgavemefollowingerror.Couldnotgetunknownproperty'archLifecycleVersion'forrootproject'JetpackHelloWorld'oftypeorg.gradle.ap

java - Android Architecture Blueprints "todo‑mvp‑dagger",@Provides for TasksRepository 在哪里?

从此处查看Android架构蓝图“todo‑mvp‑dagger”:https://github.com/googlesamples/android-architecture.我试图了解Dagger2的实现,但我似乎无法弄清楚他们如何让Dagger2提供TasksRepository。他们有@Provides用于“provideTasksLocalDataSource”和“provideTasksRemoteDataSource”,但实际的TaskRepository在哪里?在TodoApplication类中,他们有这个:@InjectTasksRepositorytasksRepo

android - 为什么 'onBindViewHolder' 没有覆盖 Kotlin?

请帮帮我,我无法在Kotlin的RecyclerView中实现onBindViewHolder。我想在Kotlin语言androidstudio中使用Reyclerview为我的数据卡制作一个适配器。但是当我实现onBindViewHolder时,我的代码会抛出一个错误。请帮忙。packagecom.brid.azis.vipgame.test.Adapterimportandroid.content.Contextimportandroid.support.v7.widget.RecyclerViewimportandroid.view.LayoutInflaterimportand

android - 当给定可空 Int 时,具有大范围的 Kotlin when 语句卡住

我正在使用when语句来检查变量是否在多个相当大的范围内。为简单起见,我的代码如下所示:vallowRange=Int.MIN_VALUE..0valmediumRange=1..999_999//...valvalToCheck=1_000_000when(valToCheck){inlowRange->{doSomething()}inmediumRange->{doSomethingElse()}//...else->{handleTooHighOrNull()}}这很好用;但是,当我使valToCheck可为空时:vallowRange=Int.MIN_VALUE..0valm

java - 非法访问错误 : Method is inaccessible to class

我遇到了一个非常奇怪的错误,因为它只发生在从生成的.apk安装应用程序之后。当我尝试通过IDE运行该应用程序时,它工作正常。java.lang.IllegalAccessError:Method'int.BaseActivity$Companion.getANIMATION_SLIDE_FROM_RIGHT()'isinaccessibletoclass'.MyActivity'(declarationof'.MyActivity'appearsin/data/app/-mg7eYmJ8hX5WvkNWNZWMVg==/base.apk!classes3.dex)如您所见,有一个名为B

android - Kotlin:检查是否为null并直接转换

在我的android应用程序中,我有一张map键的值可以是Int或String或null。目前,我是这样做的:map[key]?.let{valvalue=itasInt//usevaluehere}如果有办法像Swift一样有快捷方式ifletvalue=map[key]as?Int{}所以它就像一条线来检查无效并当场转换 最佳答案 你可以使用(map[key]as?Int)?.let{} 关于android-Kotlin:检查是否为null并直接转换,我们在StackOverflow

android - 调用 ViewModel 实例会重置 LiveData 吗?

在我使用的Kotlin中viewModel=ViewModelProviders.of(this).get(HomeViewModel::class.java)从提供者处检索ViewModel。在我的ViewModel中,我有这样的东西。valliveChuchuData=MutableLiveData()根据我的理解,这会创建一个MutableLiveData的最终新变量,对吧?我记得在Java的ViewModel中声明MutableLiveDatas时,我们创建一个函数,然后检查MutableLiveData是否为null以仅创建一次。那么,如果我有一个fragment也将使用相同