Android:在运行时设置可见的设置会留下空白空间

时间:2014-05-31 07:45:45

标签: android

enter image description here

如图所示,我的列表视图中有布局A.考虑每个方块右上角的按钮。如果我们点击它,它将隐藏RelativeLayout,即设置其可见性消失。

holder.imgBtn= (ImageView) convertView.findViewById(R.id.imgBtn);
    holder.rLayout = (RelativeLayout) convertView.findViewById(R.id.rLayout);
    convertView.setTag(holder);

holder.imgBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) { 
        holder.rLayout.setVisibility(View.GONE);
    }
}); 

但为什么还有空间?

xml

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


 //some code



</RelativeLayout >

1 个答案:

答案 0 :(得分:0)

此处可能的解决方案:Android: How to hide a ListView Item

  

我最终做的是在xml中创建一个“null item”布局,并根据我的标准而不是getView()中的转换视图返回...

     

而不是返回convertView,我返回了我的null_item ...

return inflater.inflate(R.layout.null_item, null);
null_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

</LinearLayout>

也就是说,您可能最好从列表中删除项目并更新数据集。这可能会更容易。