繁体   English   中英

如何在ListView中实现CheckBox?

[英]How to implement CheckBox in ListView?

我在ListView实现CheckBox遇到了一些麻烦。 我已经遵循了一些教程,但是没有用。
这是我的代码:

list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

        checkBox = (CheckBox) list_view.getAdapter().getView(position, view, null).findViewById(R.id.checkBox_pegawai);
        if (checkBox.isChecked()) {
            checkBox.setChecked(false);
        } else {
            checkBox.setChecked(true);
            checkbox_simpan = checkBox.getText().toString();
            Toast.makeText(MutasiActivity.this,"Berhasil", Toast.LENGTH_LONG).show();
        }
    }
});

在适配器中使用List<String>来保存选中的项,并在适配器的getView()中实现Checked更改侦听器。

例:

class AdapterList extents BaseAdapter{
 List<String> selectedItems=new ArrayList<>();
 List<String> listOfItems=new ArrayList<>();
 //your other methods

 View getView(View v,int position)     [
 //inflate you view and find your checkbox

  checkbox.setChecked(selectedItems.contains(listOfItems.get(position))
   checkbox.setOnCheckedChangeListener(new                 CompoundButton.OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        if(isChecked)
selectedItems.add(listOfItems.get(position);
else
  selectedItems.reove(listOfItems.get(position);
                    }
                });
} 

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM