Установить кнопку в GONE изначально? - PullRequest
0 голосов
/ 22 февраля 2012

Мне нужно, чтобы эта кнопка промаха была Унесена на начальном экране, затем появлялась при переключении кнопки переключения и снова становилась УДАЛЕНО при повторном переключении.Первоначально на начальном экране не было нажатия, мне нужно дважды нажать кнопку переключения, чтобы она исчезла.

вот код:

toggle = (ToggleButton) findViewById(R.id.bRedGreen);
    toggle.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            pluskugle = (Button) findViewById(R.id.bBallhole);
            minuskugle = (Button) findViewById(R.id.bBallhole);

            pluskegle = (Button) findViewById(R.id.bKegle);
            minuskegle = (Button) findViewById(R.id.bKegle);

            plusmidkegle = (Button) findViewById(R.id.bKeglemid);
            minusmidkegle = (Button) findViewById(R.id.bKeglemid);

            bottomlayout = (LinearLayout) findViewById(R.id.bottomlayout);

            miss = (Button) findViewById(R.id.bMiss);

        if(toggle.isChecked())
        {
            minuskugle.setBackgroundResource(R.drawable.redballinhole);
            minuskegle.setBackgroundResource(R.drawable.redkegle);
            minusmidkegle.setBackgroundResource(R.drawable.midkegleminus);
            miss.setBackgroundResource(R.drawable.missbutton);

            miss.setVisibility(View.VISIBLE);

        }

        else 
        {
            pluskugle.setBackgroundResource(R.drawable.whiteballinhole);
            pluskegle.setBackgroundResource(R.drawable.kegleb);
            plusmidkegle.setBackgroundResource(R.drawable.midkegleplus);
            miss.setVisibility(View.GONE);

        }

        }

    });
}

Ответы [ 4 ]

2 голосов
/ 22 февраля 2012

вы можете установить его видимость в вашем макете с Android: visibility = "ушел"

1 голос
/ 22 февраля 2012

Я бы посоветовал вам переместить все ваши методы findViewById из метода переключателя onClick в метод onCreate или инициализации.Затем под вашим:

miss = (кнопка) findViewById (R.id.bMiss);

put:

miss.setVisibility (View.INVISIBLE);

или

miss.setVisibility (View.GONE);

1 голос
/ 22 февраля 2012

Поведение, которое вы видите, является результатом двух вещей:

- Причина, по которой кнопка изначально видима, состоит в том, что у вас нет android: видимость = "ушел" в вашем XML, икод для установки его невидимым не сработал, потому что пока не произошло ни одного щелчка.

- причина, по которой вам приходится дважды нажимать кнопку переключения, чтобы установить его как невидимый: первый щелчок переключает переключатель с не отмеченногопроверено, поэтому код устанавливает кнопку (которая уже видна) для видимости.ВТОРОЙ щелчок - это первый раз, когда срабатывает onClick, а кнопка переключения не проверяется.Вот когда вы на самом деле видите, что кнопка становится невидимой.

Чтобы исправить, просто добавьте "android: visibility =" GONE "в качестве атрибута кнопки пропуска в XML-коде вашего макета.

1 голос
/ 22 февраля 2012

В xml для bMiss

добавить android:visibility:"gone"

...