android布局中出现难以理解的错误,如何发现问题并解决?

Posted

技术标签:

【中文标题】android布局中出现难以理解的错误,如何发现问题并解决?【英文标题】:incomprehensible error in android layout, how to detect the problem and solve it? 【发布时间】:2021-12-21 03:02:13 【问题描述】:

我构建了一个应用程序,它在 Kotlin 语言中运行良好。在特定布局中添加一些元素后,我发现应用程序无法运行并发现此错误:

还有这个标签布局页面:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.albnaapp.empusers.warehouse.AddDepositFragment">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_
        android:layout_>

        <TextView
            android:id="@+id/client_name"
            style="@style/TitleTextStyle"
            android:layout_
            android:layout_
            android:gravity="center"
            android:text="@string/str_client_name"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <AutoCompleteTextView
            android:id="@+id/client_code"
            style="@style/HintTextStyle"
            android:layout_
            android:layout_
            android:layout_marginEnd="39dp"
            android:hint="@string/str_hint_enterTheCode"
            android:textColorHint="#757575"
            app:layout_constraintEnd_toStartOf="@+id/deposit_amount"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/client_name"
            tools:ignore="LabelFor,TouchTargetSizeCheck" />

        <EditText
            android:id="@+id/deposit_amount"
            style="@style/HintTextStyle"
            android:layout_
            android:layout_
            android:layout_marginStart="0dp"
            android:ems="10"
            android:hint="@string/str_hint_enterTheAmount"
            android:inputType="numberDecimal"
            android:textColorHint="#757575"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/client_code"
            app:layout_constraintTop_toBottomOf="@+id/client_name"
            tools:ignore="Autofill,LabelFor,SpeakableTextPresentCheck,TouchTargetSizeCheck" />

        <TextView
            android:id="@+id/deposit_type"
            style="@style/NormalStyle"
            android:layout_
            android:layout_
            android:gravity="center"
            android:text="@string/str_deposit_type"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/client_code" />

        <RadioGroup
            android:id="@+id/details_group"
            android:layout_
            android:layout_
            android:layout_marginEnd="0dp"
            android:orientation="horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/deposit_type">

            <RadioButton
                android:id="@+id/type_deposit"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:checked="true"
                android:text="@string/str_deposit" />

            <RadioButton
                android:id="@+id/type_cheque"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:text="@string/str_cheque" />

            <RadioButton
                android:id="@+id/type_receipt"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:text="@string/str_receipt" />

            <RadioButton
                android:id="@+id/type_mail"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:text="@string/str_mail" />

        </RadioGroup>

        <TextView
            android:id="@+id/more_details"
            style="@style/NormalStyle"
            android:layout_
            android:layout_
            android:gravity="center"
            android:text="@string/str_more_details"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/details_group" />

        <RadioGroup
            android:id="@+id/more_group"
            android:layout_
            android:layout_
            android:orientation="horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/more_details">

            <RadioButton
                android:id="@+id/is_for_me"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:text="@string/str_forMe" />

            <RadioButton
                android:id="@+id/isn't_for_me"
                style="@style/NormalStyleLtBlue"
                android:layout_
                android:layout_
                android:text="@string/str_forOthers" />
        </RadioGroup>
    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

请帮我解决这个问题。因为我不知道问题出在哪里,也不知道如何解决。如果您需要更多详细信息,请随时告诉我。

【问题讨论】:

如果不知道工作变体与您添加的内容之间的差异,很难理解这一点。你能编辑你的问题并添加它吗? 【参考方案1】:

我认为单选按钮 ID 中的撇号是个问题。

android:id="@+id/isn't_for_me"

不是有效的 ID。

改用这样的东西

android:id="@+id/is_not_for_me"

【讨论】:

我真的很感谢你。已成功解决。你真是个好人?

以上是关于android布局中出现难以理解的错误,如何发现问题并解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 Android Cursor 泄漏

Android开发游记:RecycleView 实现复杂首页布局三种方式

如何阻止 Eclipse 尝试运行 XML 文件?

Android新手入门2016--布局

为啥在eclipes为创建一个android布局文件在R中没有自动生成

深入理解java虚拟机HotSpot Java对象创建,内存布局以及訪问方式