91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何通過alertdialog獲取用戶輸入

小樊
82
2024-10-16 17:35:16
欄目: 編程語言

要通過AlertDialog獲取用戶輸入,您可以使用showDialog方法創建一個對話框,并在其中使用TextInputLayoutTextInputEditText組件來允許用戶輸入文本。以下是一個示例代碼,展示了如何在Flutter中實現這一功能:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('獲取用戶輸入')),
        body: Home(),
      ),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  String userInput = '';

  void _getUserInput() async {
    final result = await showDialog(
      context: context,
      barrierDismissible: false,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('請輸入文本'),
          content: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              TextFormField(
                decoration: InputDecoration(labelText: '輸入文本'),
                onChanged: (value) {
                  setState(() {
                    userInput = value;
                  });
                },
              ),
            ],
          ),
          actions: <Widget>[
            FlatButton(
              onPressed: () {
                Navigator.of(context).pop();
              },
              child: Text('確定'),
            ),
          ],
        );
      },
    );

    if (result != null && result.data is String) {
      userInput = result.data;
      // 在這里處理用戶輸入
      print('用戶輸入: $userInput');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: _getUserInput,
        child: Text('獲取用戶輸入'),
      ),
    );
  }
}

在這個示例中,我們創建了一個_HomeState類,它繼承自StatefulWidget。在這個類中,我們定義了一個名為userInput的字符串變量來存儲用戶輸入的文本。我們還定義了一個名為_getUserInput的異步方法,該方法使用showDialog來顯示一個包含TextInputLayoutTextInputEditText組件的AlertDialog。用戶可以在其中輸入文本,點擊“確定”按鈕后,用戶輸入的文本將被存儲在userInput變量中,并打印出來。

0
阳原县| 长泰县| 北京市| 龙江县| 海伦市| 沽源县| 乌兰县| 定结县| 抚宁县| 驻马店市| 巴彦淖尔市| 仲巴县| 阿拉善左旗| 稷山县| 武宁县| 筠连县| 祥云县| 彰化县| 巴楚县| 大宁县| 乐清市| 长岛县| 睢宁县| 宣城市| 扎赉特旗| 苍南县| 绥芬河市| 双鸭山市| 平泉县| 江安县| 石台县| 大厂| 武隆县| 古田县| 湟中县| 日土县| 项城市| 疏勒县| 平舆县| 西青区| 闽侯县|