将android:id添加到xml会破坏整个应用程序

时间:2012-11-04 22:00:47

标签: android android-layout android-xml

我有这个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent">
    <Button android:text="Disable Filter" android:background="@drawable/buttons" style="@style/ButtonText" android:layout_weight="25" />
    <ImageView android:id="@+id/imageFilter" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="75" />
    <HorizontalScrollView android:layout_width="fill_parent" android:layout_height="wrap_content">
        <LinearLayout android:id="@+id/horizontal" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
        </LinearLayout>
    </HorizontalScrollView>
</LinearLayout>

我将android:id="@+id/btnFilterPreview"添加到Button我的应用停止工作。那是为什么?

5 个答案:

答案 0 :(得分:1)

在Netbeans中解决问题,右键单击项目并选择:Clean and Build

答案 1 :(得分:0)

清理构建项目,以便重新生成所有id,应用程序将找到新ID的引用。

答案 2 :(得分:0)

这是你的相同代码。运行完美无需任何更改。

我有just Clean & Re-Build Project没有别的。

试试吧。

<Button
    android:id="@+id/btnFilterPreview"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="25"
    android:background="@drawable/ic_action_search"
    android:text="Disable Filter" />

<ImageView
    android:id="@+id/imageFilter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="75" />

<LinearLayout
    android:id="@+id/horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="25"
    android:orientation="horizontal" >
</LinearLayout>

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</HorizontalScrollView>

答案 3 :(得分:0)

也可能导致Android在其标题文件中自动添加android.R将其删除

然后Build Project再次

答案 4 :(得分:0)

Clean and Build外,请确保您没有重复的ID。

假设您有另一个具有相同ID的ImageView,当某些代码如

时可能会崩溃

(Button)findViewById(R.id.btnFilterPreview)

已执行。