【发布时间】:2013-12-05 16:36:30
【问题描述】:
我有一个包含 LinearLayout 的片段,其中根据某些业务逻辑对不同的项目进行膨胀。在这些项目中包含一个 EditText。当我有多个具有不同内容的项目并且我分离/附加片段时,所有 EditTexts 都会以某种方式获得所有相同的文本。仅当 EditText 在布局文件中有 id 时才会发生这种情况。
为什么会这样?除了删除id还有其他方法可以防止这种情况吗?我想在我的膨胀项目上使用findViewById 来访问视图,而不是容易出错的getChildAt。
我在https://github.com/rodja/EditTextValueProblem创建了一个简约示例来演示该问题
【问题讨论】:
-
如果他们有相同的id,那么他们是同一个对象。改变一个的值,你就改变了它们的值。
-
那不是真的。 Android 支持视图层次结构中的相同 ID:developer.android.com/guide/topics/ui/declaring-layout.html#id
标签: android view android-fragments android-edittext