使用Kotlin 1.20.20(并不重要,旧版本的表现相同) 当布局在单独的库模块中时,Android Studio在查找和引用视图时没有问题 import kotlinx.android.synthetic.main.view_user_input.* 但是,当我尝试编译应用程序失败与Unresolved reference: view_user_input :app:compileDebugKotlin 。 在库模块中引用视图时,一切正常。 我在这里错过了什么? 添加项目结构。 所有模块都使用kotlin和kotlin扩展。 build.gradle app/ build.gradle //main application library-module-a/ build.gradle //library application library-module-b/ build.gradle //library application 这里是一个示例应用程序https://github.com/mjurkus/KotlinxTest 在KT追踪器中注册的问题
我有这个android片段: class MainFragment: BaseFragment(){ private val recyclerView by lazy { find(R.id.recyclerView) } private val fab by lazy { find(R.id.fab) } private val myLayoutManager by lazy { LinearLayoutManager(ctx, LinearLayoutManager.VERTICAL, false) } private val myAdapter by lazy { MainCardAdapter(ctx, ArrayList(), R.layout.card_main_item) } override val fragmentLayout = R.layout.fragment_main_layout val DUMMY_TEXT = “Lorem ipsum dolor sit amet, consectetur adipiscing” […]
我如何从活动类中检索模型类的数据? 这是class级: class Mass( val number: Number, val date: String, val day: String, val reading: Reading ){ }
我想检查SignalPayload的子类实现接口IConvertible 。 我怎样才能做到这一点? sealed class SignalPayload { companion object { fun trueTypeInstance(type: KClass) : SignalPayload? { // if (*** __ KClass implemented IConvertible ___ **) …… } } } object Empty : SignalPayload() data class BadData(val message: String = “BAD”) : SignalPayload() { override fun toString(): String { return message } } data class payloadString(private […]
我将7个物品的清单传递给recyclerview,它只是绑定最后一个。 通过使用日志我cal看到getItemCount()返回7,但onBindViewHolder只被调用一次。 我知道(再次通过日志记录),我传递给适配器的列表是完整的列表。 你能帮我找出为什么只显示最后一个元素,而不是整个列表。 谢谢。 活动代码: class HabitActivity : AppCompatActivity() { var adapter: ListHabitsAdapter? = null private var habitList: ArrayList? = null private var habitListItems: ArrayList? = null private var layoutManager: RecyclerView.LayoutManager? = null var dbHandler:HabitDataAdapter? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_habit) // Initialize the Class global variables //val mContext = applicationContext […]
这(大大简化)代码无法为我编译。 不知道为什么。 返回types是Entry? null对我来说似乎是一个有效的价值。 val foo = BiFunction<Int, List, Entry?> { foo:Int, bar:List -> null } 错误消息是Null can not be a value of a non-null type Entry 谁能告诉我我错过了什么? 我在用: ext.kotlin_version = ‘1.2.10’ compile “io.reactivex.rxjava2:rxjava:2.1.8” compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’ 我欢迎任何建议。 新年快乐!
我正在尝试从Firebase数据库获取数据。 断点显示它正在获取数据,但是看起来我没有正确地将其分配给我的class级。 这导致这个例外: java.lang.ClassCastException:java.util.HashMap不能转换为Class override fun onDataChange(p0: DataSnapshot?) { if (p0!!.exists()){ val children = p0!!.children children.forEach { println(it.value.toString()) var item : DashboardItem = it.value as DashboardItem println(item) } } } 这是数据库导出: { “dashboard” : [ { “name” : “News”}, { “name” : “Chatroom”}, { “name” : “Music”}, { “name” : “Quotes”}, { “name” : “Reminder”}, […]
在我的Android项目(Kotlin)中,我想为我的DATA LAYER使用Room持久性库。 但是当我添加房间持久性库的依赖关系突然生成项目开始失败。 我正在收到的错误: 这是我的项目级别 build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext { globalCompileSdkVersion = 26 globalMinSdkVersion = 19 globalTargetSdkVersion = 26 kotlin_version = ‘1.2.10’ support_version = “27.0.2” constraint_layout_version = “1.0.2” view_animator_version = “1.0.5” junit_version = “4.12” runner_version = “1.0.1” espresso_core_version = “3.0.1” room_version […]
示例代码我想要的是: data class D(val a: String, val b: Int) val jsonStr = “””[{“a”: “value1”, “b”: 1}, {“a”: “value2”, “b”:”2}]””” // what I need val listOfD: List = jacksonObjectMapper().whatMethodAndParameter?
这将工作: class Generic(thingy: R) { val x = thingy.getX() } 但参数R实际上不应该是类签名的一部分。 只有在施工时才有意义。 通用方法的types参数与类的types参数无关。 但是,这不起作用: class Generic(thingy: R) { val x = thingy.getX() } 这也不是: class Generic(thingy: R) { val x = thingy.getX() } 我没有在文档中find答案。