Java android checkbox แจ งเต อน คนละกล ม

  1. way to detect checkbox checked and unchecked and it result

2. MainActivity.java

package com.com.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private CheckBox checkBox1, checkBox2;  
@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout._activitymain_);
    checkBox1 = findViewById(R.id._checkBox1_);  
    checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {  
        @Override  
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {  
            if(b){  
                //is checked  
                Toast._makeText_(MainActivity.this, "is checked checkbox1", Toast._LENGTHSHORT_).show();  
            }else{  
                //is not checked  
                Toast._makeText_(MainActivity.this, "is not checked checkbox1", Toast._LENGTHSHORT_).show();  
            }  
        }  
    });
    checkBox2 = findViewById(R.id._checkBox2_);  
    checkBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {  
        @Override  
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {  
            if(b){  
                //is checked  
                Toast._makeText_(MainActivity.this, "is checked checkbox2", Toast._LENGTHSHORT_).show();  
            }else{  
                //is not checked  
                Toast._makeText_(MainActivity.this, "is not checked checkbox2", Toast._LENGTHSHORT_).show();  
            }  
        }  
    });  
}  
}

3. activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"  
xmlns:tools="http://schemas.android.com/tools"  
android:layout_width="match_parent"  
android:layout_height="match_parent"  
android:orientation="vertical"  
tools:context=".MainActivity">
<CheckBox  
    android:id="@+id/checkBox1"  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:text="Item1" />
<CheckBox  
    android:id="@+id/checkBox2"  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:text="Item2" />  
</LinearLayout>

4. Result on screen

You are done.

The problem is that Eclipse thinks it's an

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

1 for a

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

2 and it doesn't work. How can I fix this?

Java android checkbox แจ งเต อน คนละกล ม

asked Dec 5, 2011 at 14:31

Roman RdgzRoman Rdgz

12.9k42 gold badges134 silver badges208 bronze badges

You can do this:

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

primax79

4282 silver badges14 bronze badges

answered Dec 5, 2011 at 14:34

3

you may also go for a simple

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

3:

satView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(((CompoundButton) view).isChecked()){
            System.out.println("Checked");
        } else {
            System.out.println("Un-Checked");
        }
    }
});

answered Dec 5, 2011 at 14:39

2

You get the error because you imported wrong package.You should

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

4

So the callback should be :

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
        // Perform logic
    }
});

answered Dec 5, 2011 at 14:41

HuangHuang

4,8123 gold badges21 silver badges20 bronze badges

0

Try this:

satView = (CheckBox) findViewById(R.id.sateliteCheckBox);
satView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
          if (buttonView.isChecked()) { 
                // checked
          } 
          else 
          {
                // not checked
          }
    }
});

Hope this helps.

Edric

25.3k13 gold badges84 silver badges93 bronze badges

answered Dec 5, 2011 at 14:38

oriolponsoriolpons

1,88312 silver badges20 bronze badges

Translation of the accepted answer by Chris into Kotlin:

val checkBox: CheckBox = findViewById(R.id.chk)
checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
    // Code here 
}

answered Apr 25, 2018 at 13:40

ElletlarElletlar

3,1667 gold badges32 silver badges38 bronze badges

1

try this

satView.setOnCheckedChangeListener(new android.widget.CompoundButton.OnCheckedChangeListener.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (isChecked){
                // perform logic
            }
        }
    });

answered Dec 5, 2011 at 14:35

Java android checkbox แจ งเต อน คนละกล ม

confuciusconfucius

13.2k10 gold badges49 silver badges66 bronze badges

Change

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

5 with

satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
       }
   }
);     

6 and then press Ctrl+Shift+O to fix your imports.

answered Dec 5, 2011 at 14:34

SERPROSERPRO

10k8 gold badges47 silver badges63 bronze badges

You could use this code.

public class MySampleActivity extends Activity {
    CheckBox cb1, cb2, cb3, cb4;
    LinearLayout l1, l2, l3, l4;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        cb1 = (CheckBox) findViewById(R.id.cb1);
        cb2 = (CheckBox) findViewById(R.id.cb2);
        cb3 = (CheckBox) findViewById(R.id.cb3);
        cb4 = (CheckBox) findViewById(R.id.cb4);
        l1 = (LinearLayout) findViewById(R.id.l1);
        l2 = (LinearLayout) findViewById(R.id.l2);
        l3 = (LinearLayout) findViewById(R.id.l3);
        l4 = (LinearLayout) findViewById(R.id.l4);
    }
    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);
        cb1.setOnCheckedChangeListener(new MyCheckedChangeListener(1));
        cb1.setOnCheckedChangeListener(new MyCheckedChangeListener(2));
        cb1.setOnCheckedChangeListener(new MyCheckedChangeListener(3));
        cb1.setOnCheckedChangeListener(new MyCheckedChangeListener(4));
    }
    public class MyCheckedChangeListener implements CompoundButton.OnCheckedChangeListener {
        int position;
        public MyCheckedChangeListener(int position) {
            this.position = position;
        }
        private void changeVisibility(LinearLayout layout, boolean isChecked) {
            if (isChecked) {
                l1.setVisibility(View.VISIBLE);
            } else {
                l1.setVisibility(View.GONE);
            }
        }
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            switch (position) {
                case 1:
                    changeVisibility(l1, isChecked);
                    break;
                case 2:
                    changeVisibility(l2, isChecked);
                    break;
                case 3:
                    changeVisibility(l3, isChecked);
                    break;
                case 4:
                    changeVisibility(l4, isChecked);
                    break;
            }
        }
    }
}

answered Aug 7, 2015 at 14:14

Java android checkbox แจ งเต อน คนละกล ม

Arun ShankarArun Shankar

6121 gold badge5 silver badges16 bronze badges

1

h.chk.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View view)
    {
        CheckBox chk=(CheckBox)view; // important line and code work
        if(chk.isChecked())
        {
            Message.message(a,"Clicked at"+position);
        }
        else
        {
            Message.message(a,"UnClick");
        }
    }
});

Java android checkbox แจ งเต อน คนละกล ม

Kevin Kopf

13.6k14 gold badges51 silver badges67 bronze badges

answered Aug 20, 2016 at 7:44

Java android checkbox แจ งเต อน คนละกล ม

1

If you are looking to do this in Kotlin with the interface implementation.

class MainActivity: AppCompatActivity(),CompoundButton.OnCheckedChangeListener{
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
      val yourCheckBox = findViewById<CheckBox>(R.id.check_box)
      yourCheckBox.setOnCheckedChangeListener(this)
    }
 override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
        when(buttonView?.id){
            R.id.check_box -> Log.d("Checked: ","$isChecked")
        }
    }
}

answered Jul 7, 2019 at 3:38

Java android checkbox แจ งเต อน คนละกล ม

Gastón SaillénGastón Saillén

12.6k5 gold badges69 silver badges79 bronze badges