找不到用于密码视图的 Androidx.legacy.widget.space 类

5

这个功能以前一直可以使用,但突然停止工作并显示了这个错误。我不确定如何修复它,也不记得从我的 app.gradle 文件中删除任何内容,但有人知道如何解决吗?任何帮助都将不胜感激。

以下是我的密码视图主活动(XML 显示如下所示的错误)

''' PasscodeView PasswordView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_password_view);

    PasswordView = findViewById(R.id.PasswordView);
    PasswordView.setPasscodeLength(4)
            .setLocalPasscode("1234")
            .setListener(new PasscodeView.PasscodeViewListener() {
                @Override
                public void onFail() {
                    Toast.makeText(PasswordView.this, "Passcode do not match",Toast.LENGTH_SHORT).show();
                }
                @Override
                public void onSuccess(String number) {
                    Intent intent = new Intent(PasswordView.this,Main2Activity.class);
                    startActivity(intent);
                }
            });

}}

'''

错误截图和密码视图的XML文件

App.Gradle的第一部分

App.Gradle的第二部分(依赖项)

4个回答

9
在项目依赖部分添加androidx.legacy:legacy-support-v4:1.0.0
//app/build.gradle dependencies section

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    // Other dependencies
}

更多细节:AndroidX类映射AndroidX构件映射


5

您可以使用android.widget.Space代替androidx.legacy.widget.Space。例如:

<android.widget.Space
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:minHeight="1dp"/>

4
替代说明可以在androidx.legacy.widget.Space注释中找到,如下所示:@deprecated Use framework {@link android.widget.Space} class instead.。https://android.googlesource.com/platform/frameworks/support/+/a9ac247af2afd4115c3eb6d16c05bc92737d6305/legacy/core-ui/src/main/java/androidx/legacy/widget/Space.java - Bruno Bieri

3
在您的布局文件中,将androidx.legacy.widget.Space的出现替换为View。
例如:
 <androidx.legacy.widget.Space
       android:layout_width="8dp"
       android:layout_height="1dp" />

现在应该是:
 <View
      android:layout_width="8dp"
      android:layout_height="1dp" />

在更新了我的Gradle版本后,我遇到了同样的问题。


0
在我的情况下,我用<androidx.legacy.widget.Space替换了<Space,错误消失了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接