错误:(10)解析XML时出错:重复属性

时间:2018-02-13 16:48:39

标签: android

我在制作导航抽屉时遇到了问题。 它向我展示了两个“解析XML的错误:重复属性”其中一个是关于我的主要布局而另一个是关于我的E:\ MyApplication \ app \ build \ intermediates \ res \ merged \ debug \ layout \ main.xml  并且在这两个错误中显示了这个“错误:任务执行失败”:app:processDebugResources'。

  

com.android.ide.common.process.ProcessException:无法执行aapt“错误。并且在预览中说我对这些主题有两个渲染错误    “汇编错误”和“遗失班级”

这是我的主要活动:

     package com.example.mehrad.myapplication;

     import android.content.Context;
     import android.content.SharedPreferences;
     import android.support.v4.widget.DrawerLayout;
     import android.support.v7.app.AppCompatActivity;
     import android.os.Bundle;
     import android.support.v7.widget.LinearLayoutManager;
     import android.support.v7.widget.RecyclerView;
     import android.view.LayoutInflater;

     public class MainActivity extends AppCompatActivity {
         private SharedPreferences sharedPreferences;
         private DrawerLayout drawerLayout;
         private NavigationView navigationView;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.main);
             new MyShared(this);
             new Names("first one");
             new Names("second one");
             RecyclerView recyclerView=(RecyclerView)findViewById(R.id.rec);
             LinearLayoutManager linearLayoutManager=new           
        LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
             recyclerView.setLayoutManager(linearLayoutManager);
             MyAdapter myAdapter=new MyAdapter(this);
             recyclerView.setAdapter(myAdapter);
             drawerLayout =(DrawerLayout) findViewById(R.id.dl);
             navigationView=(NavigationView)findViewById(R.id.nv);
         }
     }

这是我的主要布局:

     <?xml version="1.0" encoding="utf-8"?>
        <android.support.v4.widget.DrawerLayout
           xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/dl"
            android:fitsSystemWindows="true"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            xmlns:app="http://schemas.android.com/apk/res-auto">
            <include layout="@layout/activity_main"/>
            <android.support.design.widget.NavigationView
            android:layout_width="wrap_content"      
            android:layout_gravity="right"    
            android:id="@+id/nv"
            app:headerLayout="@layout/header"
            app:menu="@menu/menu"
            android:layout_height="match_parent"/>

    </android.support.v4.widget.DrawerLayout>

这是我的活动主页:

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         tools:context="com.example.mehrad.myapplication.MainActivity">

     <android.support.v7.widget.RecyclerView
         android:id="@+id/rec"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:clipToPadding="false" />
     </LinearLayout>

这是我的app文件:

     apply plugin: 'com.android.application'

 android {
         compileSdkVersion 25
         buildToolsVersion "25.0.2"
         defaultConfig {
             applicationId "com.example.mehrad.myapplication"
             minSdkVersion 15
             targetSdkVersion 25
             versionCode 1
             versionName "1.0"
             testInstrumentationRunner      
    "android.support.test.runner.AndroidJUnitRunner"
         }
         buildTypes {
             release {
                 minifyEnabled false
                 proguardFiles getDefaultProguardFile('proguard-android.txt'),           
     'proguard-rules.pro'
         }
     }
 }

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     androidTestCompile('com.android.support.test.espresso:espresso-     
core:2.2.2',                   {
       exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'
}

这是我的标题:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:layout_width="match_parent"
            android:src="@drawable/header"
            android:id="@+id/image"
            android:layout_height="220dp" />
    </LinearLayout>

这是我的菜单:

<?xml version="1.0" encoding="utf-8"?>
     <menu xmlns:android="http://schemas.android.com/apk/res/android">
         <item android:id="@+id/favorite" android:title="list"/>
         <item android:id="@+id/about" android:title="about us"/>
         <item android:id="@+id/exit" android:title="exit"/>
     </menu>
请帮助我

3 个答案:

答案 0 :(得分:13)

main.xml布局的这个区块中:

<android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/dl"
        android:fitsSystemWindows="true"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        xmlns:app="http://schemas.android.com/apk/res-auto">

您有两次属性xmlns:app(请参阅底行)。删除此重复属性,您的应用程序应该构建正常,即

<android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/dl"
        android:fitsSystemWindows="true"
        android:layout_width="wrap_content"
        android:layout_height="match_parent">

答案 1 :(得分:4)

在我的情况下,发生这种情况是因为我为layout标签(用于数据绑定)指定了高度和宽度。这些属性仅应为实际持有商品的孩子指定。

答案 2 :(得分:0)

布局标签

中删除以下几行
android:layout_width="match_parent"
android:layout_height="match_parent"