我的项目中有一个 ListView。它有很多元素,并且它使用自定义适配器,因为它是从 Rails 服务器动态填充的。
我想在长按项目时更改 ListItem 的内容。为了实现这一点,我在 ListItem 中有 2 个布局,一个可见,一个隐藏。
问题是当我长按一个项目时,布局会发生变化(正如预期的那样),但其他 ListItems 也会受到影响,并且以相同的方式发生变化。这似乎每 5 个项目发生一次,我不知道为什么。
这是我正在使用的 LongClickListener,它位于自定义适配器的 de GetView 方法中:
View v = convertView;
if (v == null){
LayoutInflater vi =
(LayoutInflater)getActivity().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_item, null);
}
final LinearLayout placeInfo =
(LinearLayout) v.findViewById(R.id.list_item_info);
final RelativeLayout placeBrief =
(RelativeLayout)v.findViewById(R.id.list_item_brief);
v.setOnLongClickListener(new OnLongClickListener(){
@Override public boolean onLongClick(View v) {
placeInfo.setVisibility(View.GONE);
placeBrief.setVisibility(View.VISIBLE);
return false;
}});
我将不胜感激任何帮助,非常感谢提前。