0

我试图在 AlertDialog 中显示一个 TextField,但是当我尝试点击 TextField 时我的应用程序崩溃了。

这是我的代码:

  Future<void> _showDialog(BuildContext context) async {
    return showDialog<void>(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          title: const Text('AlertDialog Title'),
          content: Directionality(
            textDirection: TextDirection.rtl,
            child: Obx(
              () => SingleChildScrollView(
                child: ListBody(
                  children: <Widget>[
                    buildRateRow(
                        label: 'punctuality',
                        dropDownValue: controller.punctualityDDValue),
                    TextField(
                      controller: controller.reviewController..text = 'hello',
                      autofocus: false,
                      maxLength: 255,
                      decoration: new InputDecoration(hintText: ' ... '),
                    ),
                  ],
                ),
              ),
            ),
          ),
          actions: <Widget>[
            ElevatedButton(
              child: const Text('rate'),
              onPressed: () {
                controller.subRateTeacher(
                    teacherId: '${controller.teacher.value.id!}');
                Navigator.of(context).pop();
              },
            ),
            TextButton(
              child: const Text('cancel'),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

下拉工作没有任何问题。同样,当我单击按钮时,我会在 TextField 中获得文本。

错误信息

  • W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getExtractedText

  • W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getTextBeforeCursor

  • W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getExtractedText

  • W/IInputConnectionWrapper(7294):非活动 InputConnection 上的 getTextBeforeCursor

  • E/SpannableStringBuilder(7294):SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度

  • I/chatty (7294): uid=10582(com.example.blog) 相同的 2 行

  • E/SpannableStringBuilder(7294):SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度

  • D/ForceDarkHelper(7294):updateByCheckExcludeList:pkg:com.example.blog 活动:com.example.blog.MainActivity@10f2b63

  • D/EgretLoader(7294):EgretLoader(上下文上下文)

  • D/EgretLoader(7294):上下文不是活动

  • D/ForceDarkHelper(7294):updateByCheckExcludeList:pkg:com.example.blog 活动:com.example.blog.MainActivity@10f2b63

  • D/AndroidRuntime(7294):关闭虚拟机

  • E/AndroidRuntime(7294):致命异常:主要

  • E/AndroidRuntime(7294):进程:com.example.blog,PID:7294

  • E/AndroidRuntime(7294):java.lang.NullPointerException:尝试从空对象引用上的“android.view.WindowManager$LayoutParams android.view.ViewRootImpl.mWindowAttributes”字段读取

  • E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1626)

  • E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1870)

  • E/AndroidRuntime(7294):在 android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.java:1184)

  • E/AndroidRuntime(7294):在 io.flutter.plugins.webviewflutter.InputAwareWebView$1.run(InputAwareWebView.java:195)

  • E/AndroidRuntime(7294):在 android.os.Handler.handleCallback(Handler.java:914) E/AndroidRuntime(7294):在 android.os.Handler.dispatchMessage(Handler.java:100)

  • E/AndroidRuntime(7294): 在 android.os.Looper.loop(Looper.java:225)

  • E/AndroidRuntime(7294): 在 android.app.ActivityThread.main(ActivityThread.java:7564)

  • E/AndroidRuntime(7294):在 java.lang.reflect.Method.invoke(本机方法)

  • E/AndroidRuntime(7294):在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)

  • E/AndroidRuntime(7294):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

  • D/OOMEventManagerFK(7294):checkEventAndDumpForJE:0

  • I/Process (7294):发送信号。PID:7294 SIG:9

    失去与设备的连接。

4

0 回答 0