Android 如何通过列表视图外部的按钮设置其可见性?
我有一个自定义的列表视图,每行有一个按钮 我想在Listview之外添加一个按钮,以设置所有行上的visibility on按钮 我怎样才能做到这一点 我不想使用notifyDataSetChanged重新加载所有数据 有人知道这个吗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
<?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