Отключить кнопку при нажатии

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

Я создаю Activity, у которого есть кнопка START & STOP. Когда пользователь нажимает кнопку «СТАРТ», служба должна запускаться; И служба STOP должна остановиться.

Теперь я хочу отключить кнопку «СТАРТ», когда я нажимаю кнопку «Пуск» (услуга начинается при нажатии кнопки «СТАРТ»), и когда нажимает кнопку «СТОП», я хочу, чтобы кнопка «СТАРТ» была нормально нажата.

Я использовал .setEnabled (false), создав объект кнопки. Мне нужна помощь … Спасибо заранее

int count = 0; if (count == 0) { stop.setEnabled(false); PlayButton.setEnabled(true); } @Override public void onClick(View v) { switch(v.getId()) { case R.id.play: count++; play.setEnabled(false); Toast.makeText(this, "Button Disabled", Toast.LENGTH_LONG).show(); Stopbutton.setEnabled(true); break; case R.id.stop: Toast.makeText(this, "Button Disabled", Toast.LENGTH_LONG).show(); count--; PlayButton.setEnabled(true); stop.setEnabled(false); break; } } 

& Check this link Как отключить кнопку Android?

Вы также можете попробовать:-

Для включения кнопок –

 button.setClickable(true); 

Для кнопки disable-

 button.setClickable(false); 

В теле onclick

Отключить кнопку1 при нажатии

 public void onClick(View v) { if(v.getId() == R.id.button1) { Button btn = (Button)findViewById(R.id.buton1); btn.setEnabled(false); } } 

Попробуй это:

MainActivity.java

 import android.app.Activity; import android.os.Bundle; import android.view.View.OnClickListener; import android.widget.Button; import android.view.View; public class MainActivity extends Activity { private Button start, stop; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); start = (Button)findViewById(R.id.start); stop = (Button)findViewById(R.id.stop); start.setOnClickListener(new OnClickListener() { public void onClick(View v) { start.setVisibility(View.GONE); /* do something else */ } }); stop.setOnClickListener(new OnClickListener() { public void onClick(View v) { start.setVisibility(View.VISIBLE); /* do something else */ } }); } 

}

И ваш макет main.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/start" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Start" android:visibility="visible" /> <Button android:id="@+id/stop" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Stop" android:visibility="visible" /> 

Если вы хотите сделать кнопку невидимой после нажатия кнопки, тогда 1-й отключите ее, как сказал vipin, и добавьте эту .setVisibility(View.INVISIBLE); Это скроет кнопку после нажатия кнопки и когда вы хотите снова сделать ее видимой, используйте эту .setVisibility(View.VISIBLE);

ПРИМЕЧАНИЕ. Если вы хотите, чтобы кнопка была невидимой, и вы не хотите, чтобы она потребляла View.GONE пространство макета, вы можете использовать View.GONE вместо View.INVISIBLE

Надеюсь, я поняла.

Вы можете вызвать button.setOnClickListener(null); Для отмены списка событий. Кроме того, вы можете изменить фоновый рисунок, чтобы дать ему отключенный эффект.

PS: Попробуйте это решение, когда ничего не работает.

Более предпочтительным решением является,

 onclick(){ btn.setEnabled(false); btn.setClickable(false); //yourwork myWork(); } myWork(){ //your tasks. btn.setEnabled(true); btn.setClickable(true); } 

Initialize onClickListener для кнопки. Внутри кнопки кулака просто установите для параметра setEnable () значение false .. и из второго набора настроек набора кнопок setEnable to true

наслаждаться

 myButton.setEnabled(false); Timer buttonTimer = new Timer(); buttonTimer.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { myButton.setEnabled(true); } }); } }, 5000); 

Попробуй это, отлично работай