我在Android应用程序中显示了一些内容。每个列表条目都有类似的字段 - 比如一张图片,一些文本和一个文本框。但是,一些列表条目与其他列表条目不同。内容的顺序基于服务器调用的结果。充气Android列表子视图 - >重复的ID
该列表本身需要相当动态,我目前使用linearlayout而不是listview有几个原因。我的代码看起来像这样:
LinearLayout list = findViewById(android.R.id.list);
while (more content to add) {
switch (content type) {
case A:
View v = layoutInflater.inflate(R.layout.list_item_type_a, list, false);
EditText editText = (EditText)v.findViewById(android.R.id.edit);
// Do stuff with editText
list.addView(v);
break;
case B:
View v = layoutInflater.inflate(R.layout.list_item_type_b, list, false);
....
}
}
This works great。除了 - 当我把它放在一个片段中,并旋转屏幕,现在我的应用程序崩溃,因为我有多个字段具有相同的android.R.id.edit
标识符。
我原以为这是一个相当优雅的解决方案,Android神灵似乎不同意。我是否需要为我的所有xml子布局撕出ID?如果我走这条路线,我应该如何获取内容的参考?
通常我不会这样做,但我的问题已经得到了很少的意见,我不知道该怎么做,所以你可以看看这个[问题](http:// stackoverflow。 com/questions/35729545/reflection-in-background-android)?我真的很感激它 – Dan
谢谢,最终这是我一起去的解决方案。我花了一段时间回去尝试再次使用ListView,但遇到了很多(记录完备的)将EditText放在ListView和Android的焦点系统中的问题。堆栈溢出包含许多潜在的修复程序,但是我无法让它们中的任何一个在我需要支持的所有Android版本上工作。 – Brad