小编Eth*_*hoi的帖子

如何在Android中实现阴影(环境光)背景?

如何实现下图所示的阴影?

我尝试了很多方法为CardViewelevation很多custom viewsdrawable。但这与通缉的阴影不同。

卡视图

elevation of CardViewambient light+ key light。但是,我只想ambient light海拔。

CardView的阴影。

我想要这个影子。

我想要这个影子。

android android-layout

5
推荐指数
1
解决办法
337
查看次数

与Gson一起使用Lazy Delegate时Kotlin抛出NPE

问题

Foo 数据类可以转换各种类型。

为了有效实现,可使用来实现该属性lazy delegate。但是,当我尝试访问惰性属性时,我遇到了NPE。当我使用转换功能时toBar,不会发生NPE。

//data from Retrofit response via GsonConverter
data class Foo(
    @SerializedName("type") val type: String,
    @SerializedName("data") val data: JsonElement
) {
    val asBar by lazy { // it's throw NPE
        Bar.fromJson(data)
    }
    val asVar by lazy {
        Var.fromJson(data)
    }

    fun toBar() = Bar.fromJson(data)
    fun toVar() = Var.fromJson(data)
}
Run Code Online (Sandbox Code Playgroud)

在RecyclerViewAdapter中的用法(扩展PagedListAdapter)

...
override fun onBindViewHolder(
    holder: RecyclerView.ViewHolder,
    position: Int
) {
    when (holder) {
        is BarHolder -> getItem(position)?.asBar?.let(holder::bind) // NPE
        is VarHolder -> getItem(position)?.asVar?.let(holder::bind) // …
Run Code Online (Sandbox Code Playgroud)

android gson kotlin

3
推荐指数
1
解决办法
186
查看次数

为什么在mysql中这个选择查询这么慢?

表格式

数据库引擎是MyISAM

提交(约500,000,000行)
id(int) - PK(索引)
project_id(int) - FK [project-> id](索引)
committer_id - FK [user-> id](索引)
...

项目(约32,000,000行)
id(int) - PK(索引)
...

用户(约12,000,000行)
id - PK(索引)
...


说明

SELECT COUNT(*) 
FROM commits 
WHERE committer_id = 30351173
Run Code Online (Sandbox Code Playgroud)

以上查询在10秒内完成.

SELECT project_id , COUNT(*) as commit_count
FROM commits
WHERE committer_id = 30351173
GROUP BY project_id
Run Code Online (Sandbox Code Playgroud)

但是,上述查询未在2小时内完成(7,200秒)

project_idin commits是完整的索引列,但速度太慢.

为什么会这样?

问)如何加快第二次查询?


额外

SELECT project_id , COUNT(*) AS commit_count
FROM commits
WHERE committer_id = …
Run Code Online (Sandbox Code Playgroud)

mysql sql

2
推荐指数
1
解决办法
978
查看次数

如何避免 kotlin 泛型的类型不匹配错误?

代码片段

fun main() {
    val myClass : AbsClass<Any> = MyClass()
    // Error - type mismatch

    val myClass : AbsClass<*> = MyClass() 
    // Not Error, but parameter of 'foo' is 'Nothing'

    val myClass : AbsClass<Any> = MyClass() as AbsClass<Any> 
    // It's correct works with unchecked cast warning and unnecessary casting code.

    myClass.foo(MyModel())
}

class MyClass() : AbsClass<MyModel>() {
}

abstract class AbsClass<T> {
    fun foo(value:T){}
}

data class MyModel(val number:Int = 0)
Run Code Online (Sandbox Code Playgroud)

我想编写代码,val myClass : AbsClass<Any> = MyClass()但是,它显示类型不匹配错误。如何解决这个问题(避免类型转换代码 …

generics kotlin

1
推荐指数
1
解决办法
1397
查看次数

标签 统计

android ×2

kotlin ×2

android-layout ×1

generics ×1

gson ×1

mysql ×1

sql ×1