【问题描述】
在Android Studio
中开发集成了AndroidX
的项目,用到了QMUI
,但是下面的代码却报错:
QMUIDialog.MessageDialogBuilder builder = new QMUIDialog.MessageDialogBuilder(mContext);
builder.setMessage("测试Message")
.setTitle("测试Title")
.addAction("确定", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
}
})
.create().show();
错误信息为:
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.legacy.widget.Space" on path: ... ...
【解决方案】
经测试,是addAction()
方法导致的,具体源码没测试,只知道是androidx.legacy.widget.Space
这个类没找到。
AndroidX
中关于legacy
的包有以下几个:
androidx.legacy:legacy-preference-v14:1.0.0
androidx.legacy:legacy-support-core-ui:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.legacy:legacy-support-v13:1.0.0
androidx.legacy:legacy-support-v4:1.0.0
跟View
有关的肯定是UI
包了,于是先实验一下第二个,在build.gradle
中添加如下代码:
implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'
跑起来测试,问题一次解决。