Change Checkbox value without triggering onCheckChanged

前端 未结 19 1007
广开言路
广开言路 2020-11-30 00:18

I have setOnCheckedChangeListener implemented for my checkbox

Is there a way I can call

checkbox.setChecked(false);
         


        
19条回答
  •  粉色の甜心
    2020-11-30 00:48

    Try this one should work for you! You can use this with firebase also!

    For get firebase data! Use this!

    databaseReference.child(user.getPhoneNumber()).child("Reqs").addValueEventListener(new ValueEventListener() {
    
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                SharedPreferences prefs = mContext.getSharedPreferences("uinfo", MODE_PRIVATE);
                String pno = prefs.getString("username", "No name defined");
    
                if(dataSnapshot.child(pno).getValue(String.class).equals("acc")){
                    holder.acc.setChecked(true);
                }else{
                    holder.acc.setChecked(false);
                }
            }
    
            @Override
            public void onCancelled(DatabaseError databaseError) {
                // Getting Post failed, log a message
                Log.w("dfs", "loadPost:onCancelled", databaseError.toException());
                // ...
            }
        });
    

    After that when user do something!

    holder.acc.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if(isChecked) {
                        if(buttonView.isPressed()) {
                            //your code
                        }
                    }
                    else {
                        if(buttonView.isPressed()) {
                           //your code
                        }
                    }
                }
            });
    

提交回复
热议问题