我有一个ListView,其中的项目具有相同的视图来显示一些数据,我有一个OnItemClickListener,当我点击一个项目时,它会显示一个TextView(以前隐藏)作为可扩展文本。
问题
有人能给我一个正确的线索吗?
非常感谢
我的代码:
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
TextView expandedText = (TextView)view.findViewById(R.id.txtExpanded)
if(expandedText.getVisibility()==View.VISIBLE){
expandedText.setVisibility(View.GONE)
}else{
expandedText.setVisibility(View.VISIBLE)}
}
答案 0 :(得分:1)
如果没有看到您的实际适配器,我想这是因为您正在使用视图。由于视图持有者回收小部件并重置数据,因此每次用于显示单击的单元格的持有者都被回收时,使用&#34;单击&#34;显示新数据。逻辑应用。所以,&#34;重置&#34;小部件到基本状态并跟踪哪些&#34;数据&#34;已被点击,理想情况下是在数据对象本身内部。最好创建一个视图组来处理所有小部件和显示/隐藏字段的逻辑,而不是将它们设置到适配器中。