在 google play 控制台中,我看到许多只有最新设备和 Android 11 的用户发生了这个崩溃:
kotlin.UninitializedPropertyAccessException
de.xxx.blabla.MainActivity.getAdapterGallery
我什至没有任何被调用的类/方法getAdapterGallery
大头钉轨迹是:
java.lang.RuntimeException:
at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4864)
at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4901)
at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2307)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:246)
at android.app.ActivityThread.main (ActivityThread.java:8512)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1139)
Caused by: java.lang.RuntimeException:
at android.app.ActivityThread.deliverResults (ActivityThread.java:5506)
at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4851)
at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4901)
at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2307)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:246)
at android.app.ActivityThread.main (ActivityThread.java:8512)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1139)
Caused by: kotlin.UninitializedPropertyAccessException:
at de.xxx.blabla.MainActivity.getAdapterGallery (MainActivity.java:7)
at de.xxx.blabla.MainActivity.onActivityResult (MainActivity.java)
at android.app.Activity.dispatchActivityResult (Activity.java:8541)
at android.app.ActivityThread.deliverResults (ActivityThread.java:5499)
at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4851)
at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4901)
at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2307)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:246)
at android.app.ActivityThread.main (ActivityThread.java:8512)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1139)
EDIT:
这就是我在 onActivityResult 中的内容:
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
if(requestCode == 777 && resultCode == RESULT_OK && data != null) {
if(data.hasExtra("commentCountChanged")) {
val json = JSONObject(data.getStringExtra("commentCountChanged")!!)
val memeID = json.getLong("memeID")
val commentCount = json.getInt("commentCount")
for (i in 0 until adapterMemes.memes.size) {
if (adapterMemes.memes[i].id == memeID) {
adapterMemes.memes[i].commentcount = commentCount
val viewHolder = recyclerViewMemes.findViewHolderForAdapterPosition(i) as RecyclerView.ViewHolder
if (commentCount == 0) {
viewHolder.itemView.memeCommentsCount.text = "\u25CF"
viewHolder.itemView.memeCommentsCount.setTextSize(
TypedValue.COMPLEX_UNIT_SP,
8f
)
} else {
viewHolder.itemView.memeCommentsCount.text =
commentCount.toString()
viewHolder.itemView.memeCommentsCount.setTextSize(
TypedValue.COMPLEX_UNIT_SP,
16f
)
}
break
}
}
}
if(data.hasExtra("list")) {
val updatedMemes = data.getParcelableArrayListExtra<Memes>("list") as ArrayList<Memes>
val finalMemes: MutableList<Memes> = mutableListOf()
for(i in 0 until updatedMemes.size){
if(updatedMemes[i].title != "show_ad_break"){
finalMemes.add(updatedMemes[i])
}
}
adapterGallery.memes = finalMemes
adapterGallery.notifyDataSetChanged()
}
}
}