Flutter开发中问题汇总贴(持续更新中)

博客主要围绕Android开发展开,一是解决Android webview出现ERR_CLEARTEXT_NOT_PERMITTED的问题,可在mainfest.xml的application中添加配置;二是探讨改变dialog内容状态的问题,因context不一致,普通更新无效,给出了有效更新方法,还适用于自定义popopWindow状态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、网络相关

1-1、Android webview出现 ERR_CLEARTEXT_NOT_PERMITTED

在这里插入图片描述
解决方案:
在Android 的mainfest.xml中的application添加一句配置

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

作者:圈圈猫
链接:https://www.jianshu.com/p/6b9ea90eb3c1
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

2、状态刷新相关(state)

2-1、 改变dialog内容的状态

很多时候需要去改变dialog的内容,但是使用setState()更新的话,发现并不会改变,这是因为dialog实际上是另一个widget,他们的context不一致,所以state更新也就没有效果。可以使用下面的方法更新,详细的看下面博客地址,实测可用。同样也适用于自定义的popopWindow状态更新。

showDialog(
    context: context,
    builder: (context) {
        String label = 'test';
        return StatefulBuilder(
            builder: (context, state) {
                print('label = $label');
                return GestureDetector(
                    child: Text(label),
                    onTap: () {
                        label = 'test8';
                        print('onTap:label = $label');
                        // 注意不是调用老页面的setState,而是要调用builder中的setState。
                        //在这里为了区分,在构建builder的时候将setState方法命名为了state。
                        state(() {});  
                    },
                );
            },
         );
    });

作者:吉原拉面
来源:优快云
原文:https://blog.youkuaiyun.com/yumi0629/article/details/81939936
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值