在Android中隐藏并显示复选框问题 [英] Hide and show checkbox issue in android
问题描述
我在 ListView
中有复选框
可选择项目,我有一个按钮
ListView
之外。最初,当我点击按钮
复选框$ c>时,
复选框
$ c>应显示在 ListView
中,反之亦然。我有一个问题,当我按下按钮
最初它显示一个
I have a Checkbox
in a ListView
to select items and I have one Button
outside the ListView
. Initially the Checkbox
should be hidden, when I click that Button
the Checkbox
should display in the ListView
and vice versa.
注意: code>
Note: I have a Button
in class and Checkbox
in adapter
sdel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((datalist) mlistView.getAdapter()). toggleChecks();
((datalist)mlistView.getAdapter()).notifyDataSetChanged();
}
});
public void toggleChecks() {
for (int i = 0;i<sms.size();i++) {
holder.cb.setVisibility(CheckBox.VISIBLE);
}
isCheckBoxVisible=!isCheckBoxVisible;
notifyDataSetChanged();
}
推荐答案
b $ b in which define getter setter for boolean variable
Create model for this purpose in that define getter setter for boolean variable
private boolean isVisible;
public boolean isVisible() {
return isVisible;
}
public void setVisible(boolean visible) {
isVisible = visible;
}
在默认情况下将此标记设置为false
in activty set this flag as false by default
YourModel model=new YouModel();
for (int i = 0; i <sms ; i++) {
model.setVisible(false);
}
在适配器写入条件复选框
//假设sms是arraylist
In adapter write condition for check box //assuming sms is arraylist
YourModel model=sms.get(position)
if(model.isVisible){
checkbox.setVisibility(View.VISIBLE);
}else{
checkbox.setVisibility(View.INVISIBLE);
}
现在在按钮上点击写下面的代码
//如果可见
now on button click write below code //if checkbox is visible
for (int i = 0; i <sms.size() ; i++) {
sms.get(i).setVisible(false);
}
adapter.notifyDataSetChanged();
//if checkbox is invisible
for (int i = 0; i <sms.size() ; i++) {
sms.get(i).setVisible(true);
}
adapter.notifyDataSetChanged();
这篇关于在Android中隐藏并显示复选框问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!