现在无法让 compose 在现有的 kotlin/native 项目中运行一个月,尝试将默认的 Greeting 示例设置为splash而不是其 ui,但无法实现:
java.lang.NoSuchMethodError: No virtual method Int$class-SplashActivity()I in class Lcom/a/b/c/activity/LiveLiterals$SplashActivityKt; or its super classes (declaration of 'a.b.c.ui.activity.LiveLiterals$SplashActivityKt' appears in /data/app/a.b.c.develop-7Zjdfjfy762lPctajg==/base.apk!classes29.dex)
at a.b.c.ui.activity.SplashActivity.<clinit>
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Run Code Online (Sandbox Code Playgroud)
是的,在活动开始之前崩溃。
科特林 1.5.21
撰写版本 = 1.0.2
mTargetSdkVersion=30(我厌倦了每次同步时合并清单,所以在我全部运行之前不会使用 31)
mCompileSdkVersion=31
mMinSdkVersion=21
项目级别build.gradle:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.android.tools.build:gradle:7.1.0-alpha12"
classpath "gradle.plugin.com.wiredforcode:gradle-spawn-plugin:0.8.2"
classpath "com.google.gms:google-services:4.3.10"
classpath "com.google.firebase:firebase-crashlytics-gradle:2.7.1"
Run Code Online (Sandbox Code Playgroud)
android module build.gradle(不是整个文件,其现有项目):
implementation …
Run Code Online (Sandbox Code Playgroud) 甚至可以拖放Recyclerview吗?在Recyclerview内部看来这不是问题,但我无法将项目移出它。就像我看到的每个拖放操作一样,此操作仅在容器内工作(在这种情况下为recyclerview)。这样做是否有可能,或者这只是我浪费的大量时间?在SOF已经很喜欢这个问题overhere,但没有得到回答。
android drag-and-drop android-5.0-lollipop android-recyclerview
我有一个活动,里面有一个片段A. 片段A在其内部嵌套了片段B. 我使用以下代码用C切换B:
getChildFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.move_left_in, R.anim.move_left_out,R.anim.move_right_in, R.anim.move_right_out)
.replace(R.id.container, fragmentC)
.addToBackStack("nested")
.commit();
Run Code Online (Sandbox Code Playgroud)
之后,我正在做
getChildFragmentManager().popBackStack();
Run Code Online (Sandbox Code Playgroud)
什么让我回到片段B.然后我用代码切换片段A和片段D.
getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.move_up_in, R.anim.move_up_out, R.anim.move_down_in, R.anim.move_down_out)
.replace(R.id.fragment_holder, fragmentD)
.addToBackStack("fragments")
.commit();
Run Code Online (Sandbox Code Playgroud)
当A-> D交易上的动画正在播放时,B播放事务C-> B的动画,并通过弹出backstack获得相同的结果,为什么?