ListView中删掉某个item时出现整个ListView都看不见,但是数据源有改变

搞了一个下午都没找到问题根源在哪里,醉了!!!可能是功夫不够吧!最近在弄一个listview的item删除,在每个item中加了删除按钮,删掉某行时,数据源有发生改变,但是ListView居然不见了,像是被隐藏了,怪咖。。。当时我的ListView布局是这样的:

<ListView
        android:id="@+id/lv_collect_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@null" />

 

adapter里的布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rl_adapter_collect"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:orientation="vertical"
    android:padding="5dp" >

    <ImageView
        android:id="@+id/iv_collect_image"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:background="@drawable/default_image_185_140"
        android:contentDescription="@string/No"
        android:scaleType="fitXY" />

    <TextView
        android:id="@+id/tv_collect_desp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/iv_collect_image"
        android:ellipsize="end"
        android:lines="2"
        android:singleLine="false"
        android:text="eqeqeqeq大脚地哦啊大加大打击哦啊的骄傲就SADA懂啊激动啊dadadadada" />

    <TextView
        android:id="@+id/tv_collect_price2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/iv_collect_image"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/iv_collect_image"
        android:text="商城价:" />

    <TextView
        android:id="@+id/tv_collect_price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/tv_collect_price2"
        android:layout_alignBottom="@+id/tv_collect_price2"
        android:layout_toRightOf="@+id/tv_collect_price2"
        android:text="58.0"
        android:textColor="@color/red"
        android:textSize="16sp" />

    <View
        android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/iv_collect_image"
        android:layout_marginTop="5dp"
        android:background="@android:color/darker_gray" />

    <Button
        android:id="@+id/btn_collect_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/view1"
        android:layout_alignParentRight="true"
        android:background="@drawable/red_change"
        android:padding="5dp"
        android:textColor="@android:color/white"
        android:text="删除" />

</RelativeLayout>

后来我该变了ListView的布局将
 android:layout_height="match_parent"
改为
android:layout_height="wrap_content"


结果是整个ListView点进去查看都已经报错了,跟上面的情况错误一样,”类转换异常“,

实在纠结,后面我再看了下adapter的View,重新改成如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:orientation="vertical"
    android:padding="5dp" >

    <RelativeLayout
        android:id="@+id/rl_adapter_collect"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/iv_collect_image"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:background="@drawable/default_image_185_140"
            android:contentDescription="@string/No"
            android:scaleType="fitXY" />

        <TextView
            android:id="@+id/tv_collect_desp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:layout_toRightOf="@+id/iv_collect_image"
            android:ellipsize="end"
            android:lines="2"
            android:singleLine="false"
            android:text="商品名称" />

        <TextView
            android:id="@+id/tv_collect_price2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/iv_collect_image"
            android:layout_marginLeft="8dp"
            android:layout_toRightOf="@+id/iv_collect_image"
            android:text="商城价:" />

        <TextView
            android:id="@+id/tv_collect_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/tv_collect_price2"
            android:layout_alignBottom="@+id/tv_collect_price2"
            android:layout_toRightOf="@+id/tv_collect_price2"
            android:text="58.0"
            android:textColor="@color/red"
            android:textSize="16sp" />

        <View
            android:id="@+id/view1"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/iv_collect_image"
            android:layout_marginTop="5dp"
            android:background="@android:color/darker_gray" />

        <Button
            android:id="@+id/btn_collect_delete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/view1"
            android:layout_alignParentRight="true"
            android:background="@drawable/red_change"
            android:padding="5dp"
            android:text="删除"
            android:textColor="@android:color/white" />
    </RelativeLayout>

</LinearLayout>
终于可以了,但是我还是不太清楚原因,求大神指教!!!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值