2016-12-27 4 views
2

Я хочу отображать сообщение Toast при нажатии кнопки отключения.Как отобразить сообщение при нажатии на кнопку отключения в Android?

button.setEnable(false);                     

     button.setOnClickListener(new View.OnClickListener() 
    { 
      @Override 
      public void onClick (View v) 
      { 


       Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show();  }} 

Можно ли использовать как прослушиватель Touch, так и кнопку прослушивания на той же кнопке?

+1

Нажмите не будет работать кнопка инвалидов. –

+0

Спасибо :) @ KetanAhir. Можете ли вы показать мне пример кода? –

+0

Возможный дубликат [Android - прослушать отключенную кнопку] (http://stackoverflow.com/questions/9016015/android-listen-to-a-disabled-button) – Spartan

ответ

2

Вы не можете нажать отключенного button.Try делает это,

// if you want to show it as disabled simply change the button background and text color 
    button.setActivated(false); 
    button.setBackgroundColor(ContextCompat.getColor(getContext(),R.color.disabled_background_color)); 
    button.setTextColor(ContextCompat.getColor(getContext(),R.color.disabled_text_color)); 
    button.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick (View v){ 
      if(!button.isActivated()){ 
      Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show(); 
      return; 
      } 
     //else do your stuff 
    } 

Добавьте эти строки в вашем color.xml

<color name="disabled_background_color">#10181818</color> 
<color name="disabled_text_color">#aaa</color> 
+0

Нет, его не работает. Он не показывает никакого сообщения –

+2

над кодом правильно, убедитесь, что ваша кнопка не отключена (проверьте xml и в вашем файле класса). Он работает для меня. –

+0

Да, это работает, но я хочу, чтобы кнопка SET нажата. Все кнопки должны быть отключены и не выполнять никакой функции. –

-1

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

+0

Как это сделать? –

+0

не точно, потому что после того, как вы установили setEnable (false) 'button stop для получения события click –

0

Вы можете установить Aplha для кнопки porgromatically: кнопку. . getBackground() SetAlpha (128); // Для прозрачности 50%. Диапазон от 0 (полностью прозрачный) до 255 (полностью непрозрачный).

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show(); 
     } 
    }); 
2

Если вы должны сделать 2 действия на кнопку, чем использовать это, как я отключил кнопку и включен только тогда, когда SET нажата кнопка

button.setOnTouchListener(new View.OnTouchListener() 
    { 
     @Override 
     public boolean onTouch(View view, MotionEvent motionEvent) 
     { 
      Log.i("Touch eventssssss","Inside onTouch"); 
      if(button.isActivated()) 
      { 
       Toast.makeText(SliderDemo.this, "Your Message On Disabled Button ", Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
      else 
      { 
       Intent intent = new Intent(MainActivity.this,NextActivity.class); 
       startActivity(intent); 
       return true; 
      } 

     } 
    }); 
Смежные вопросы