我有一个从 LinearLayout 派生的自定义视图,它在构造函数中扩展了以下 xml:
<?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="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title" />
<TextView
android:id="@+id/value"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:text="Value" />
</LinearLayout>
此视图在我的活动中包含两次(或多次)。我还替换了视图构造函数中的字符串“Title”和“Value”,因此对于视图的两个实例,它们可能是“title1”/“value1”和“title2”/“value2”。
在我旋转手机之前,我认为这是按预期工作的(我还需要确保活动在此过程中被破坏)。重新创建Activity后,第一个值文本是“value2”而不是“value1”!
我追踪到它来自 textIsSelectable 的问题。当我删除该属性时,它工作正常。
我的目标是 API 级别 14,该属性只是我的 layout-v14 文件夹的一部分。如果我以编程方式设置属性也是一样的。
有没有其他人经历过这个?你知道解决这个问题的任何方法吗?
请注意,我正在使用 Mono for Android - 不确定这是否是一个错误?