我尝试通过一次单击检查并取消选中我的活动中的所有复选框。 我试过这段代码:
private ListView mListView;
private Contacts_ListViewAdapter ContactViewAdapter;
private ArrayList<Contacts_ListView> ContactView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intent = getIntent();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
mListView = (ListView) findViewById(R.id.Contacts_list);
Selected_check_box = (CheckBox) findViewById(R.id.Selected_check_box) ;
View parentLayout = findViewById(android.R.id.content);
Select_All.setOnClickListener(new View.OnClickListener() {
private int ContactViewSize;
@Override
public void onClick(View view) {
ListView lv = mListView ;
int size = ContactViewAdapter.getCount();
boolean check = lv.isItemChecked(0);
for(int i = 0; i <= size; i++)
lv.setItemChecked(i, !check);
}
});
它似乎不起作用。
答案 0 :(得分:0)
setItemChecked(position,value) - 仅在选择模式设置为CHOICE_MODE_SINGLE或CHOICE_MODE_MULTIPLE时有效。尝试设置
var ref = firebase.database().ref('companies/01/users').push();
var randomValue = Math.random();
ref.update({ ..., 'r': randomValue });
...
var ref = firebase.database().ref('companies/01/users')
ref.orderByChild('r').limitToFirst(1).once('value').then(function(snapshot) {
var data = snapshot.val()
...
snapshot.remove()
});
答案 1 :(得分:0)
您需要更新自定义CursorAdapter中的信息,因为Listview仅构建足够的“列表视图”以显示和回收重用,并动态更改这些视图以提高效率。
在您的自定义适配器下,添加全局差异并更新它。
boolean allcheck = false; //Default unchecked
更新 bindView
的所有复选框public void bindView(View view, Context context, Cursor cursor) {
CheckBox box = (CheckBox) view.findViewById(R.id.checkBox);
box.setChecked(allcheck);
}