我已经使用 Eclipse 工作了几个星期了。我的代码运行正常,但突然停止运行。我收到此错误,
main.xml:您必须指定有效的布局参考。布局 ID @layout/required 无效。
我的 XML 代码
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- select between BIN or auction -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:id="@+id/AuctionButton"
android:layout_marginLeft="82dp"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:onClick="showAuctionOptions"
android:text="Auction" />
<Button
android:id="@+id/BINButton"
android:layout_marginLeft="-2dp"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:onClick="showAuctionOptions"
android:text="Buy it now" />
</LinearLayout>
<include android:id="@+id/cell1" layout="@layout/required"/>
<include android:id="@+id/cell2" layout="@layout/gray_line" />
<!--** Show if Buy it now is selected **-->
<include android:id="@+id/cell3" layout="@layout/buyitnow" />
<!-- ** End Buy it now display ** -->
<!--** Show if auction selected ** -->
<include android:id="@+id/cell4" layout="@layout/auction" />
<include android:id="@+id/cell5" layout="@layout/gray_line" />
<include android:id="@+id/cell6" layout="@layout/addons" />
<include android:id="@+id/cell7" layout="@layout/calculate" />
</LinearLayout>
</ScrollView>
错误出现在第一个包含中,但是如果我删除它,我只会在第二个包含中收到错误。如果我删除所有包含内容,我的 java 代码中会出现“无法解析 R”错误。
我尝试过的,
这是我的 AndroidManifest XML 文件,
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="toggler.state"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".TogglerActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这些都不起作用。有人可以帮忙吗?
谢谢
该错误可能是由布局中的其他地方引起的。去掉多余的两个
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns
用于定义命名空间。在大多数情况下,只有顶部元素可以拥有它。
看看 XML 中的“xmlns”是什么意思?如果有人想阅读
xmlns
解释。
还要检查以确保您的 XML 文件全部为小写。
还要尝试查看清单中是否指定了正确的包。摘自https://stackoverflow.com/a/7496766/935779
值得检查
。属性包有 正确的值。AndroidManifest.xml
也就是说,
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="your.correct.package.name" ...
更改后,R.java 将重新生成。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- select between BIN or auction -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:id="@+id/AuctionButton"
android:layout_marginLeft="82dp"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:onClick="showAuctionOptions"
android:text="Auction" />
<Button
android:id="@+id/BINButton"
android:layout_marginLeft="-2dp"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:onClick="showAuctionOptions"
android:text="Buy it now" />
</LinearLayout>
<include android:id="@+id/cell1" layout="@layout/required"/>
<include android:id="@+id/cell2" layout="@layout/gray_line" />
<!--** Show if Buy it now is selected **-->
<include android:id="@+id/cell3" layout="@layout/buyitnow" />
<!-- ** End Buy it now display ** -->
<!--** Show if auction selected ** -->
<include android:id="@+id/cell4" layout="@layout/auction" />
<include android:id="@+id/cell5" layout="@layout/gray_line" />
<include android:id="@+id/cell6" layout="@layout/addons" />
<include android:id="@+id/cell7" layout="@layout/calculate" />
</LinearLayout>
</ScrollView>
我遇到了类似的问题,并且能够通过向包含标记提供layout_width和layout_height来修复它。