我使用图形编辑器中的“包含其他布局”向活动的主布局添加了几个小的相对布局。但是,由于某种原因,当我尝试在模拟器中加载活动时,它失败了。除了 LogCat 中的一堆通用内容之外,没有任何警告,这些内容看起来与我遇到错误时的任何其他内容完全相同。在此活动的 .Java 文件中,我成功地引用了这些包含的布局中的视图,没有任何问题。
这是 Activity 的 .xml 文件中包含布局的元素。
<include
android:id="@+id/include1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/lblParklandAssistDesc"
android:layout_below="@+id/lblParklandAssistDesc"
layout="@layout/parklandweight" />
<include
android:id="@+id/include2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/include1"
android:layout_below="@+id/include1"
layout="@layout/parklandbsa" />
这些是包含的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnWeightUp"
style="?android:attr/buttonStyleSmall"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/Up" />
<Button
android:id="@+id/brnWeightDown"
style="?android:attr/buttonStyleSmall"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnWeightUp"
android:text="@string/Down" />
<TextView
android:id="@+id/lblParklandWeightTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/btnWeightUp"
android:text="@string/lblWeight"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/txtWeight"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_below="@+id/lblParklandWeightTitle"
android:layout_toRightOf="@+id/btnWeightUp"
android:ems="10"
android:inputType="number"
android:text="100" >
<requestFocus />
</EditText>
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/lblParklandWeightTitle" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/lb" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/kg" />
</RadioGroup>
</RelativeLayout>
然后是另一个。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnBSADown"
style="?android:attr/buttonStyleSmall"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnBSAUp"
android:layout_below="@+id/btnBSAUp"
android:text="@string/Down" />
<TextView
android:id="@+id/lblParklandBSAtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="58dp"
android:text="@string/lblParklandBSAtitle"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/btnBSAUp"
style="?android:attr/buttonStyleSmall"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/Up" />
<EditText
android:id="@+id/txtBSA"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/lblParklandBSAtitle"
android:layout_below="@+id/lblParklandBSAtitle"
android:ems="10"
android:inputType="number"
android:text="3" />
</RelativeLayout>
对于可能发生的事情,或者坦率地说,甚至在哪里看,我都没有最模糊的想法。我已经使用 eclipse 和 java 和 android 工作了将近两个星期,制作了一个应用程序,并且很幸运,并且很容易学习一切。这让我很困惑。任何帮助将不胜感激!
新添加(添加 .Java 内容,因为似乎 xml 布局本身可能不是问题):
在活动类的顶部,我声明了将处理其他布局的变量,如下所示:
View parklandWeight;
View parklandBSA;
然后,当我将对象分配给它时 - 我这样做:
parklandWeight = (View) findViewById(R.layout.parklandweight);
parklandBSA = (View) findViewById(R.layout.parklandbsa);
LogCat 中似乎来自此 activity.java 的唯一错误发生在第二次分配之后。在另一个指代其中一个布局内的按钮的分配上:
btnWeightUp = (Button) parklandWeight.findViewById(R.id.btnWeightUp);
这可能是我问题的根源吗?我已经在 StackOverflow 中阅读了至少五六个不同的线程,建议这样做。提前致谢。