dimanche 8 novembre 2015

I have multiple checkboxes, but only want one of them to get clicked at a time

I am just trying to make my application so the user can only click on one checkbox at a time. So pretty much when the user clicks on one checkbox the other 2 become false. I have tried a few things, but nothing really seems to be working, and I can't find anything about it online. Thanks- Here is my code...

   public void buttonClick() {
        imgView = (ImageView) findViewById(R.id.imageView);
        button = (Button) findViewById(R.id.button);
        blade = (ImageView)findViewById(R.id.imageView4);
        final Animation animRotate = AnimationUtils.loadAnimation(this, R.anim.rotate);
        standardSound = MediaPlayer.create(this, R.raw.file.mp3);
        alternateSound = MediaPlayer.create(this, R.raw.file.mp3);
        whiteSound = MediaPlayer.create(this, R.raw.file.mp3);

        button.setOnClickListener(

                new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
                        boolean alternate = getPrefs.getBoolean("alternate", false);
                        boolean white = getPrefs.getBoolean("white", false);
                        boolean standard = getPrefs.getBoolean("standard",false);

                        if (blade.getAnimation() == null) {
                            // no animation, start it
                            if (alternate == true){
                                alternateSound.start();
                                blade.startAnimation(animRotate);



                            } else if (white == true){
                                whiteSound.start();
                                blade.startAnimation(animRotate);

                            } else if (standard == true) {
                                standardSound.start();
                                blade.startAnimation(animRotate);

                            }

                            } else {
                                //animation is showing, stop it
                                blade.clearAnimation();
                                standardSound.stop();
                                standardSound.prepareAsync();
                                whiteound.stop();
                                whiteSound.prepareAsync();
                                alternateSound.stop();
                                alternateSound.prepareAsync();

                            }





                        current_image_index++;
                        current_image_index = current_image_index % images.length;
                        imgView.setImageResource(images[current_image_index]);
                        imgView.invalidate();


                    }



                }
        );
    }

And my xml

<PreferenceScreen xmlns:android="http://ift.tt/nIICcg">
    <PreferenceCategory
        android:title="Sound Settings">

        <CheckBoxPreference
            android:key="standard"
            android:title="Standard Fan"

            />
        <CheckBoxPreference
            android:key="alternate"
            android:title="Alternate Fan"

            />
        <CheckBoxPreference
            android:key="white"
            android:title="White Noise"
            />
    </PreferenceCategory>

</PreferenceScreen>




Aucun commentaire:

Enregistrer un commentaire