Android 如何通过列表视图外部的按钮设置其可见性?

Android 如何通过列表视图外部的按钮设置其可见性?,android,listview,button,visibility,Android,Listview,Button,Visibility,我有一个自定义的列表视图,每行有一个按钮 我想在Listview之外添加一个按钮,以设置所有行上的visibility on按钮 我怎样才能做到这一点 我不想使用notifyDataSetChanged重新加载所有数据 有人知道这个吗 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andro

我有一个自定义的列表视图,每行有一个按钮 我想在Listview之外添加一个按钮,以设置所有行上的visibility on按钮 我怎样才能做到这一点

我不想使用notifyDataSetChanged重新加载所有数据 有人知道这个吗

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

    <TextView
        android:id="@+id/notice_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/notice_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/notice_title"
        android:textSize="8dp" />

    <ImageButton 
        android:id="@+id/btn_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_delete"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:visibility="invisible" />

</RelativeLayout>
Adapter\u notice.java

使用

ListView.setVisibilityView.GONE/View.VISIBLE/View.INVISIBLE

由于要临时禁用可见性,请使用View.INVISIBLE和View.VISIBLE

ListView.setVisibilityView.GONE/View.VISIBLE/View.INVISIBLE

由于要暂时禁用可见性,请在决策器按钮的onClick Listener中使用View.INVISIBLE和View.VISIBLE,再次为列表设置适配器。 并在列表之外保留一个公共布尔变量,通过验证布尔变量来确定特定按钮的可见性。

在决策器按钮的onclick侦听器中,再次为列表设置适配器。 并在列表之外保留一个公共布尔变量,通过验证布尔变量来决定特定按钮的可见性。

在按钮上单击事件添加

yourListView.setVisiblity(View.INVISIBLE);
要隐藏按钮上的列表视图,请单击事件添加

yourListView.setVisiblity(View.INVISIBLE);
隐藏列表视图的步骤

我有一个自定义的Listview,在一行上有一个按钮,我想添加一个 按钮,以在所有 我怎样才能做到这一点

我不想使用notifyDataSetChanged重新加载所有数据 知道这个吗

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

    <TextView
        android:id="@+id/notice_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/notice_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/notice_title"
        android:textSize="8dp" />

    <ImageButton 
        android:id="@+id/btn_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_delete"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:visibility="invisible" />

</RelativeLayout>
创建包含ListView和按钮的布局。ListView已设置包装内容的高度。 然后为按钮创建onClickListener并onClick隐藏ListView:

btn.setOnClickListener(new View.OnClickListener {
   public void onClick(View v) {
       if (listView.getVisibility() == ListView.VISIBLE) {
          listView.setVisibility(ListView.INVISIBLE);
       }
       else {
          listView.setVisibility(ListView.VISIBLE);
       }
   }
});
注意:不可见和消失的区别在于,消失属性不会在布局中发生

我有一个自定义的Listview,在一行上有一个按钮,我想添加一个 按钮,以在所有 我怎样才能做到这一点

我不想使用notifyDataSetChanged重新加载所有数据 知道这个吗

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

    <TextView
        android:id="@+id/notice_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/notice_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/notice_title"
        android:textSize="8dp" />

    <ImageButton 
        android:id="@+id/btn_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_delete"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:visibility="invisible" />

</RelativeLayout>
创建包含ListView和按钮的布局。ListView已设置包装内容的高度。 然后为按钮创建onClickListener并onClick隐藏ListView:

btn.setOnClickListener(new View.OnClickListener {
   public void onClick(View v) {
       if (listView.getVisibility() == ListView.VISIBLE) {
          listView.setVisibility(ListView.INVISIBLE);
       }
       else {
          listView.setVisibility(ListView.VISIBLE);
       }
   }
});

注意:INVISIBLE和GONE的区别在于GONE属性不会出现在布局中。

在单击列表外的按钮时,执行以下操作

listview.setAdapter(changedAdapter) 
其中changedAdapter将是一组新的适配器或

    adapter.setButtonVisibility(false);
    listview.setAdapter(adapter). 
在适配器类中创建一个新方法,该方法设置一个布尔值,getView将根据该值返回视图。如果布尔值为true,则按钮字段将不可见

public void setButtonVisibility(boolean hideButton){
    this.hideButton = hideButton;
}

getView(){
...
if(hideButton){
    //hide button
}
}

在单击列表外的按钮时,执行以下操作

listview.setAdapter(changedAdapter) 
其中changedAdapter将是一组新的适配器或

    adapter.setButtonVisibility(false);
    listview.setAdapter(adapter). 
在适配器类中创建一个新方法,该方法设置一个布尔值,getView将根据该值返回视图。如果布尔值为true,则按钮字段将不可见

public void setButtonVisibility(boolean hideButton){
    this.hideButton = hideButton;
}

getView(){
...
if(hideButton){
    //hide button
}
}

我没有隐藏整个listview我没有隐藏整个listview我没有隐藏整个listview我没有隐藏整个listview