小编Jor*_*dan的帖子

应用程序未实现dagger.android.HasDispatchingActivityInjector

我有一个Application的子类,我符合HasDispatchingActivityInjector,但当我尝试运行我的应用程序时它会崩溃,说:

Unable to start activity ComponentInfo{com.test.testing/com.test.testing.ui.main.MainActivity}: java.lang.RuntimeException: android.app.Application does not implement dagger.android.HasDispatchingActivityInjector
Run Code Online (Sandbox Code Playgroud)

这是我的Application子类:

class MyApplication : Application(), HasDispatchingActivityInjector {

@Inject
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Activity>

override fun onCreate() {
    super.onCreate()

    DaggerAppComponent.create().inject(this)
}

override fun activityInjector(): DispatchingAndroidInjector<Activity> {
    return dispatchingAndroidInjector
}
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到此错误?

谢谢

android kotlin dagger-2

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

撰写:创建带有圆形背景的文本

来自 SwiftUI,我想创建一个视图Text,它有一个圆的背景,其中圆的宽度/高度随着里面的文本Text变长而增长。

因为Circle()Compose 中没有像 in 那样SwifUI,所以我只创建了一个Spacer并剪掉了它。下面的代码正在使用,ConstraintLayout因为我不知道如何获得宽度Text以将Circle可组合的大小设置为相同:

@Composable
fun CircleDemo() {
    ConstraintLayout {
        val (circle, text) = createRefs()

        Spacer(
            modifier = Modifier
                .background(Color.Black)
                .constrainAs(circle) {
                    centerTo(text)
                }
        )

        Text(
            text = "Hello",
            color = Color.White,
            modifier = Modifier
                .constrainAs(text) {
                    centerTo(parent)
                }
        )
    }
}

Run Code Online (Sandbox Code Playgroud)

我可以使用一个mutableStateOf { 0 }我在onGloballyPositioned附加到的修饰符中更新它的地方Text,然后将其设置为requiredSizefor Spacer,但是 1. 这看起来很愚蠢,2.Spacer现在绘制在ConstraintLayout. …

android android-jetpack-compose android-jetpack-compose-text

5
推荐指数
3
解决办法
632
查看次数