我在制作导航抽屉时遇到了问题。 它向我展示了两个“解析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>
请帮助我
答案 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"