1. Java / Говнокод #16363

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    private void setLock(boolean lock) {
            if (lock) {
                view1.setEnabled(false);
                view2.setEnabled(false);
                view3.setEnabled(false);
                view4.setEnabled(false);
                view5.setEnabled(false);
                view6.setEnabled(false);
            } else {
                view1.setEnabled(true);
                view2.setEnabled(true);
                view3.setEnabled(true);
                view4.setEnabled(true);
                view5.setEnabled(true);
                view6.setEnabled(true);
            }
        }

    Copy & Paste наше всё.
    P.S. Названия переменных изменены, не пугайтесь.

    Запостил: ilsy, 17 Июля 2014

    Комментарии (15) RSS

    • > Названия переменных изменены, не пугайтесь.
      Тех, кто видел делфи, view6 не напугаешь...
      Ответить
      • Form1.Button9
        Ответить
      • Неа, тот кто-то видел lazarus не боится не view не button
        Ответить
        • А что там в лазарусе?
          Ответить
          • Все как в Борланд Делфи, но извращенно, будто пропущено через кривое зеркало и глухой телефон
            Ответить
    • а как правильно? вот нужно у всех переменных setEnabled сделать
      Ответить
      • Самое простое и очевидное:
        view1.setEnabled(!lock);
                    view2.setEnabled(!lock);
                    view3.setEnabled(!lock);
                    view4.setEnabled(!lock);
                    view5.setEnabled(!lock);
                    view6.setEnabled(!lock);

        Заметьте, кода стало в два раза меньше
        Можно ещё сделать массив и в цикле пробежаться

        Ещё предложения?
        Ответить
        • Массив не так уж и логично использовать, как я понял код с андроида, там так или иначе надо каждую вьюху по отдельности привязывать, соответсвенно под каждую будет своя ссылка
          Ответить
        • lock = ! lock;
          А дальше по списку. Не нужно повторять отрицание.
          Ответить
      • Ну хотя бы так:
        private void setLock(boolean lock) {
            view1.setEnabled(!lock);
            view2.setEnabled(!lock);
            view3.setEnabled(!lock);
            view4.setEnabled(!lock);
            view5.setEnabled(!lock);
            view6.setEnabled(!lock);
        }
        Ответить
      • foreach(var v in views)
         v.setEnabled(!lock);
        Ответить
        • Ну можно и так... Всех детей перебрать то точно можно. И фильтрануть по классу тоже.
          Ответить
          • Не факт, что блокируются все view - их может быть и больше. Я преположил, что views - массив нужных view, созданный при создании этих обьектов
            А так - да
            шарпик
            foreach(var chd in Controls)
                if (chd is SomeControlType) 
                    chd.Enabled = !lock;
            Ответить
          • >Всех детей перебрать
            и отсортировать по росту
            Ответить

    Добавить комментарий