Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在一个简单的Android应用程序中获取有关布局xml文件的错误_Android_Xml - Fatal编程技术网

在一个简单的Android应用程序中获取有关布局xml文件的错误

在一个简单的Android应用程序中获取有关布局xml文件的错误,android,xml,Android,Xml,所以我尝试了以下代码 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" a

所以我尝试了以下代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    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"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.slidenerd.sample.customdesign.MainActivity"
    android:background="#252525">


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/clock"
        android:layout_above="@id/textView"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:text="0:00"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:textColor="#616161"
        android:textSize="100sp"
        android:layout_centerInParent="true" />

    <ToggleButton
        android:text="ToggleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="54dp"
        android:id="@+id/toggleButton"
        android:background="@drawable/toggle_selector"
        android:textOff=""
        android:textOn=""/>
</RelativeLayout>
相比之下,以下各项工作正常

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    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"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.slidenerd.sample.customdesign.MainActivity"
    android:background="#252525">


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/clock"
        android:layout_marginTop="54dp"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:text="0:00"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageView"
        android:id="@+id/textView"
        android:textColor="#616161"
        android:textSize="100sp"
        android:layout_centerInParent="true" />

    <ToggleButton
        android:text="ToggleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="54dp"
        android:id="@+id/toggleButton"
        android:background="@drawable/toggle_selector"
        android:textOff=""
        android:textOn=""/>
</RelativeLayout>

我不明白为什么第一个不起作用。根据放置在布局中心的项目排列各种项目是否错误

找不到与给定名称匹配的资源(位于“layout_above”处) 值“@id/textView”)

它试图告诉你,你正在使用一个尚未初始化的id。为了避免这种情况,只要指定“android:layout_over=“@+id/textView”(“+”需要在@+id中出现),就应该能够使用第一个布局


因为在第一行中,android:layout_over=“@id/textView”


引用尚未从xml解析器中读取的元素(textview)。只需更改顺序:(首先是xml中的textview,然后是imageview)

注意:
tools:context=“com.slidenerd.sample.customdesign.MainActivity”
是不必要的,因为这不是您的项目

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    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"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.slidenerd.sample.customdesign.MainActivity"
    android:background="#252525">


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/clock"
        android:layout_marginTop="54dp"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:text="0:00"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageView"
        android:id="@+id/textView"
        android:textColor="#616161"
        android:textSize="100sp"
        android:layout_centerInParent="true" />

    <ToggleButton
        android:text="ToggleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="54dp"
        android:id="@+id/toggleButton"
        android:background="@drawable/toggle_selector"
        android:textOff=""
        android:textOn=""/>
</RelativeLayout>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/clock"
        android:layout_above="@id/textView"   <-- this guy
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/clock"
        android:layout_above="@id/textView"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />