打开Listview“子项目”

时间:2016-07-30 18:11:00

标签: android listview

我想用子项填充我的列表视图。

我的目标是,当有人点击列表视图行时,此列表视图会显示一个子项,如下所示:

Image

我不应该把它称为子项目,但我发现这是描述我想要做的事情的最佳方式。

我没有使用库来做到这一点,我只是在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;

}

你们能帮助我吗?

谢谢。

0 个答案:

没有答案