1

我有一个从 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 - 不确定这是否是一个错误?

4

0 回答 0