我对ListView有一个奇怪的问题: 我已经创建了复合控件
public class TopicControl extends LinearLayout
....
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/llTopicHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnTopicTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tag="btnTopicTitle"
></Button>
<LinearLayout
android:id="@+id/llTopicBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:tag="llTopicBar"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bar_calendar"
></Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bar_person"
></Button>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tvTopicText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
></TextView>
</merge>
在该控件中,我在btnTopicTitle点击上实现了隐藏/显示llTopicBar。
问题在于,当我将该组件添加到ListView时,按下btnTopicTitle后,llTopicBar不仅对于单击的项目,而且对于每个 second LstViewItem都可见。
添加“父”验证后,llTopicBar对于ListView中的每个 4th 项都会显示。
Override
public void onClick(View v)
{
if (v.getParent().getParent() == getThis())
llTopicBar.setVisibility(llTopicBar.getVisibility() == View.VISIBLE ? View.INVISIBLE : View.VISIBLE);
}
你可以帮我解决这个问题吗?
答案 0 :(得分:0)
问题在于在滚动期间重复使用ListView的视图。