2015-08-18 3 views
-3

Я не уверен, почему этот кусок кода не будет работать:Изменить текст затем изменить текст в ответ нажатием кнопки?

public void action_Click(View view){ 
    switch (view.getId()){ 
     case R.id.button1: 
      boolean b1 = false; 
      if (b1 == false){ 
       btn1.setText("TEXT 1"); 
       b1=true; 
      } 
      if (b1 == true){ 
       btn1.setText("TEXT 2"); 
       b1=false; 
      } 
      break; 
    } 
} 

Любая помощь будет очень признателен!

+0

Everytime вы вызываете этот метод, b1 установлен в ложь, потому что это локальная переменная. Вместо этого используйте статическое поле. См. Основы java. – Dreo

+0

Большое спасибо! –

ответ

1

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

public void action_Click(View view) { 
    Button button = (Button) view; 
    if (button.getText().toString().equals("TEXT 1") { 
     button.setText("TEXT 2"); 
    } else { 
     button.setText("TEXT 1"); 
    } 
} 
Смежные вопросы