错误:(10) 解析 XML 时出错:重复属性
Posted
技术标签:
【中文标题】错误:(10) 解析 XML 时出错:重复属性【英文标题】:Error:(10) Error parsing XML: duplicate attribute 【发布时间】:2018-07-24 02:42:55 【问题描述】:您好,我在制作导航抽屉时遇到了问题。 它给我看两个:
“解析 XML 时出错:重复属性”
其中一个是关于我的主要布局,另一个是关于我的
E:\MyApplication\app\build\intermediates\res\merged\debug\layout\main.xml
在这两个错误的后面,告诉我这个:
“错误:任务 ':app:processDebugResources' 执行失败。 com.android.ide.common.process.ProcessException: Failed to execute aapt" 错误。
在预览中说我这些主题有两个渲染错误
“编译错误” 和 “缺课”
这是我的主要活动:
包 com.example.mehrad.myapplication; 导入android.content.Context; 导入 android.content.SharedPreferences; 导入 android.support.v4.widget.DrawerLayout; 导入android.support.v7.app.AppCompatActivity; 导入android.os.Bundle; 导入 android.support.v7.widget.LinearLayoutManager; 导入 android.support.v7.widget.RecyclerView; 导入 android.view.LayoutInflater; 公共类 MainActivity 扩展 AppCompatActivity 私人共享偏好共享偏好; 私人抽屉布局抽屉布局; 私人导航视图导航视图; @覆盖 protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); 设置内容视图(R.layout.main); 新的我的共享(这个); 新名称(“第一个”); 新名称(“第二个”); RecyclerView recyclerView=(RecyclerView)findViewById(R.id.rec); 线性布局管理器线性布局管理器=新 LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false); recyclerView.setLayoutManager(linearLayoutManager); 我的适配器我的适配器=新的我的适配器(这个); recyclerView.setAdapter(myAdapter); 抽屉布局=(抽屉布局)findViewById(R.id.dl); 导航视图=(导航视图)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_
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto">
<include layout="@layout/activity_main"/>
<android.support.design.widget.NavigationView
android:layout_
android:layout_gravity="right"
android:id="@+id/nv"
app:headerLayout="@layout/header"
app:menu="@menu/menu"
android:layout_/>
</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_
android:layout_
tools:context="com.example.mehrad.myapplication.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/rec"
android:layout_
android:layout_
android:clipToPadding="false" />
</LinearLayout>
这是我的应用文件:
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_
android:layout_>
<ImageView
android:layout_
android:src="@drawable/header"
android:id="@+id/image"
android:layout_ />
</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>
请帮帮我
【问题讨论】:
【参考方案1】:就我而言,这是因为我为layout
标签(用于数据绑定)指定了高度和宽度。这些属性应该只为实际持有项目的孩子指定。
【讨论】:
【参考方案2】:在您的 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_
android:layout_
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_
android:layout_>
【讨论】:
非常感谢,但现在这给了我另一个主题“错误:(10)在包'com.example.mehrad.myapplication'中找不到属性'headerLayout'的资源标识符” 和这个“错误:(10)在包'com.example.mehrad.myapplication'中找不到属性'menu'的资源标识符” 您有名为res/layout/header.xml
和res/menu/menu.xml
的文件吗?【参考方案3】:
从 layout 标记中删除以下行
android:layout_
android:layout_
【讨论】:
以上是关于错误:(10) 解析 XML 时出错:重复属性的主要内容,如果未能解决你的问题,请参考以下文章
接收解析 XML:未绑定前缀错误和属性缺少 Android 命名空间前缀
错误:(2) 解析 XML 时出错:XML 或文本声明不在实体 android studio 的开头