0

晕大家,我在 kotlin 中有一个问题材料对话框,并给出错误“您必须指定资源 ID 或文字值”。问题出在哪里,谢谢。

在班上;

  override fun dataPushError(throwable: Throwable) {
    MaterialDialog(requireContext()).show {
      icon(R.drawable.ic_error)
      title(R.string.gagal_menyimpan_data)
      message(text = throwable.message)
    }
  }

错误捕获

错误日志

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: id.dasawisma.android, PID: 10888
    java.lang.IllegalArgumentException: message: You must specify a resource ID or literal value
        at com.afollestad.materialdialogs.utils.MDUtil.assertOneSet(MDUtil.kt:328)
        at com.afollestad.materialdialogs.MaterialDialog.message(MaterialDialog.kt:174)
        at com.afollestad.materialdialogs.MaterialDialog.message$default(MaterialDialog.kt:172)
        at id.dasawisma.android.ui.main.bangunan_basic.BangunanBasicFragment.dataPushError(BangunanBasicFragment.kt:636)
        at id.dasawisma.android.core.base.fragment.BaseDataFetchPushFragment$onViewCreated$$inlined$observe$1.onChanged(LiveData.kt:64)
        at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
        at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
        at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
        at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
D/TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, DEFAULT, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy1wYS5nb29nbGVhcGlzLmNvbS92MS9maXJlbG9nL2xlZ2FjeS9iYXRjaGxvZ1xBSXphU3lDY2traUg4aTJaQVJ3T3MxTEV6RktsZDE1YU9HOG96S28=) is already scheduled. Returning...
V/StudioTransport: Handling agent command 1200 for pid: 10888.
I/Process: Sending signal. PID: 10888 SIG: 9
4

1 回答 1

0

通过不链接标题和消息的设置器,您错误地构建了对话框:

MaterialDialog(requireContext())
  .title(R.string.your_title)
  .message(R.string.your_message)
  .icon(R.drawable.your_icon)
  .show()

供参考:https ://github.com/zubairehman/BaseDialogs

于 2021-04-30T03:30:54.620 回答