2013-09-05 2 views
0

Я работаю над простым конвертером между Decimal/Hex/Binary и столкнулся с проблемой, которую я не могу решить. Это макет, к которому я более или менее стремился.Кнопка Android осталась нажатой/группа радио

enter image description here

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

Что было бы лучшим способом сделать это? есть ли что-то просто использовать кнопки и заставить их оставаться в их «нажатом» состоянии, когда их нажимают? При этом мне нужно только цвет нажатой кнопки для отображения. Или есть способ сделать это с помощью какой-то группы радиостанций, где радиокнопки имеют тот же стиль, что и обычная кнопка?

+0

группы радио является более подходящей в данном случае –

ответ

1

Try:

button.setOnTouchListener(new OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

     ... do a call to your conversion code here .... 

     button.setPressed(true); 
     return true; 
    } 
}); 

Для получения дополнительной информации: Android docs и this SO question

+0

есть в любом случае, чтобы сделать что-то вроде этого, но есть так, что я не потерять setPressed после завершения метода? – Scalahansolo

+0

@SeanCallahan Кнопка 'button' должна оставаться в нажатом состоянии до перезагрузки' Activity' или вы вызываете 'button.setPressed (false)' вызов. Что вы пробовали? – Tigger

+0

@Trigger Это работает на самом деле! Отлично. Последний вопрос, который вы могли бы мне помочь. Есть ли в любом случае, чтобы проверить, находится ли кнопка в нажатом состоянии где-то еще в моем коде? – Scalahansolo