Android10 Dialog bug

作者在使用AlertDialog时遇到了与androidx包相关的问题,提示需要AppCompat主题。解决方案是将导入的AlertDialog改为android.app.AlertDialog。程序在使用androidx包后,黑屏后界面重载并出现非法状态异常。

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

之前写了个显示电池老化的Dialog,今天发新版本测试的时候报错了。

代码

		AlertDialog dialog = new AlertDialog.Builder(mContext)
				.setTitle(R.string.battery_aging_dialog_title)
				.setMessage(R.string.battery_aging_dialog_message)
				.setPositiveButton(R.string.ok,null)
				.create();
		dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
		dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
		dialog.setCanceledOnTouchOutside(false);
		dialog.show();

终端表现

黑屏后重新加载界面

报错信息

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 

 原因

AlertDialog导入的是androidx包,具体原因未知,有没有大佬知道原因

解决方法

import android.app.AlertDialog就能正常运行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值