Я хочу знать, сколько Switch включено одновременно и распечатать их значения - PullRequest
0 голосов
/ 22 января 2019

Я хочу знать, сколько коммутаторов включено одновременно, и распечатать их значения в тосте, как я могу это сделать

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CompoundButton;
    import android.widget.Switch;
    import android.widget.Toast;

    public class ListItem extends AppCompatActivity {


        Switch s1,s2,s3,s4;
        int Switch;

        Switch[] switches = new Switch[]{s1,s2,s3,s4};
        Button submit;



        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_list_item);

            s1 = findViewById(R.id.switch1);
            s2 = findViewById(R.id.switch2);
            s3 = findViewById(R.id.switch3);
            s4 = findViewById(R.id.switch4);
            submit = findViewById(R.id.clickbtn);


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


                    if (isChecked == true) {


                        String result1 = "Table";







                    }
                }
            });


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


                    if (isChecked == true) {

                        String result1 = "Chair";






                    }
                }
            });


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


                    if (isChecked == true) {

                        String result1 = "Laptop";



                    }
                }
            });


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


                    if (isChecked == true) {

                        String result1 = "Desktop";






                    }
                }
            });



            submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {


                    for (int i = 1; i <= switches.length; i++) {
                        s








                      //  Toast.makeText(getApplicationContext(), "You picked Table and chair", Toast.LENGTH_LONG).show();


                    }
                }





            });







        }

 }

У меня есть список некоторых элементов, если пользователь проверил три переключателя. Затем пользователь получил сообщение Toast со значением, которое вы отметили. Три элемента, пожалуйста, найдите код, который я пробую, но у меня есть только статический метод, чтобы проверить эту возможность.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Нет необходимости для прослушивателя setOnCheckedChange. Попробуй это. Или настроить его так, как вы хотите

            s1 = findViewById(R.id.switch1);
            s2 = findViewById(R.id.switch2);
            s3 = findViewById(R.id.switch3);
            s4 = findViewById(R.id.switch4);

            s1.setTag("Table1");
            s2.setTag("Table2");
            s3.setTag("Table3");
            s4.setTag("Table4");
 submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

               String ss = "You picked ";
               for (Switch s: switches) {
                     if(s.isChecked())
                       ss+=s.getTag() + ", " ;



               }

              Toast.makeText(getApplicationContext(), ss, Toast.LENGTH_LONG).show();


                    }
                };
0 голосов
/ 22 января 2019

Что вам нужно сделать, это проверить состояние 3-х коммутаторов на onClickListener отправки Button.Если переключатель уже isChecked, включите его текст в строку для тоста.Вы уже делаете это.Просто продолжайте свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...