今天写程序,从一个Activity跳到另一个Activity,页面加载时出现了以下错误:
06-03 03:23:27.289: E/AndroidRuntime(9939): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zuo.txt/com.zuo.txt.EditPage}: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12
绞尽脑汁,也没想出哪里有问题,页面代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/title" />
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/content"
android:inputType="textMultiLine" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@+id/save"
android:text="@string/cancel" />
</LinearLayout>
</LinearLayout>
看了一些资料,发现有可能是<LinearLayout>标签不能嵌套使用的问题,去掉里面那个LinearLayout,发现还是有问题,接着去掉了android:layout_marginRight="@+id/save",程序运行正常,这问题蛮坑爹的,<android:layout_marginRight="@+id/save"
>居然不支持嵌套,我以前用android2.1版本的时候是可以的,现在改用2.3了,这个问题还有待深究。
接下来,我又加上那个LinearLayout,然后只去掉,<android:layout_marginRight="@+id/save">,发现也好了,由此证明LinearLayout是可以嵌套的,应该是layout_marginRight这个属性有问题导致的。