我想用子项填充我的列表视图。
我的目标是,当有人点击列表视图行时,此列表视图会显示一个子项,如下所示:
我不应该把它称为子项目,但我发现这是描述我想要做的事情的最佳方式。
我没有使用库来做到这一点,我只是在listview行中包含了一个布局,我试图隐藏并在有人点击它时显示它。
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="400sp"
android:orientation="horizontal"
android:padding="2sp"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="200sp"
android:id="@+id/relativeLayout3">
</RelativeLayout>
<include layout="@layout/activity_subitem"
android:layout_width="wrap_content"
android:id="@+id/subitem"
android:layout_height="200sp"
android:layout_below="@+id/relativeLayout3"
android:layout_alignParentStart="true" />
</RelativeLayout>
我构建了一个简单的适配器,我正在尝试实现我的想法,但是没有用,因为没有任何反应
public View getView(final int position, final View convertView,
final ViewGroup parent) {
View v = super.getView(position, convertView, parent);
layout = (RelativeLayout) v.findViewById(R.id.layout);
subitem = v.findViewById(R.id.subitem);
if (flag){
subitem.setVisibility(View.GONE);
layout.getLayoutParams().height = 200;
}
v.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
subitem.setVisibility(View.VISIBLE);
layout.getLayoutParams().height = 400;
flag = false;
}
});
return v;
}
你们能帮助我吗?
谢谢。