Android ListView 点击事件异常。
怪我咯
怪我咯 2017-04-17 17:33:17
0
3
457

ListView 的item布局下方还有一个被GONE的布局,默认是不显示的。 点击lsit info 0 右侧的箭头 显示了下部的布局,但是当listview 向下滑动,下面的item 被复用,造成list info 6 下面的布局也显示了。 请问用什么样的方法可以解决这样的问题?如果可以的话尽量说的详细一点。第一次做这样的页面。

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(3)
伊谢尔伦

recycleview를 사용해 보세요

阿神

재사용 이유는 if (convertView != null)입니다. ConvertView 없이 직접 로드할 수 있습니다. 물론 목록 보기의 효율성은 낮습니다.
또는 ExpandListview를 사용하세요

小葫芦

이 문제는 ListView의 캐싱 메커니즘으로 인해 발생하므로 AdapterView(ListView의 상위 클래스) 및 하위 클래스의 경우 어댑터의 getView 함수 외에는 해당 항목의 뷰를 수정하는 작업을 수행하면 안 됩니다. 처형 장소.

여기서 하단 표시를 전환하고 숨기려면 어댑터의 데이터 개체(Entity)에 부울 변수를 정의하는 것이 가장 좋습니다. 부울 변수의 값에 따라 현재 항목의 하단 버튼 그룹을 표시하거나 숨깁니다. getView 함수에 숨깁니다. 이 수정은 지정된 Position의 데이터 객체에 있는 Boolean 값을 수정한 후 어댑터의 informDataSetChanged를 호출하는 것입니다. 여기에는 새로 고침 프로세스가 있지만 대부분의 경우 항목에 상대적으로 큰 사진이 많이 있고 각 사진을 인터넷에서 가져오지 않는 한 이 새로 고침은 표시되지 않습니다.

아이템의 클릭 이벤트도 어댑터에서 커스터마이징해야 한다고 하는데, 기존 OnItemClickListener는 사용하지 않는 것이 가장 좋습니다. RecylerView에서 알 수 있듯이 OnItemClickListener 인터페이스가 없습니다.

게다가 데이터 어댑터는 쓰기엔 너무 반복적이어서 캡슐화하는 것이 가장 좋기 때문에 이 글을 읽어보시고 범용 어댑터를 만들어 보시길 권해드립니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿