Как я могу удерживать кнопку нажатой после нажатия на нее?

Возможный дубликат:
Android. Как сохранить кнопку, отображаемую как PRESSED, до тех пор, пока действие, созданное этой кнопкой, не будет завершено?

У меня есть кнопка, и я хочу, чтобы, когда я ее нажимаю, она остается нажатой (с зеленым цветом на Froyo).

Любая помощь?

mycodes_Button = (Button) findViewById(R.id.mycodes); ... if (saved_Button.isPressed()) { saved_Button.setFocusable(true); } 

Что-то вроде этого?

Используйте следующий код. Это полезно.

 mycodes_Button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mycodes_Button.setPressed(true); return true; } }); 

У меня была проблема с кнопкой с настраиваемым фоном, и в итоге я использовал выбранное состояние для этого. Это состояние доступно для всех просмотров.

Чтобы использовать это, вы должны определить пользовательский фон кнопки в виде списка состояний :

       

Затем, чтобы использовать этот фон, предположим, что он находится в /res/drawable/button_bg.xml в вашем файле макета, вы используете:

 ...  ... 

В вашем коде вы можете переключиться на (де-) выбранное состояние в вашем слушателе onClick:

 myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.setSelected(true); // normal click action here } }); 

Активированное состояние лучше соответствует намеченному значению, но доступно только с Android 3.x и выше.

Будет ли ToggleButton соответствовать вашим потребностям?

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

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

Давайте будем гением компьютера.