Привет, вы помогаете парням, позвольте мне сказать вам, что я очень новичок в Android и Java. У меня есть файл OnClickHandler и он компилируется и запускается, но если я нажимаю одну кнопку, она останавливается.Приложение останавливается при нажатии кнопки
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
int[] buttons = {R.id.button1, R.id.button2, R.id.button3, R.id.button4, R.id.button5, R.id.button6, R.id.button7, R.id.button8, R.id.button9};
for (int i = 0; i < buttons.length; i++) {
Button buttonNum = (Button) this.findViewById(buttons[i]);
buttonNum.setOnClickListener(new onCklickHandler());
}
}
class onCklickHandler implements View.OnClickListener {
public void onClick(View v) {
if ("On" == button.getText()){
button.setText("Off");
}
else {
button.setText("On");
}
v.playSoundEffect(SoundEffectConstants.CLICK);
}
}
Может ли кто-нибудь помочь?
Опубликовать свой стек. Но, вероятно, NPE, так как я не вижу 'button', объявленного где-то – codeMagic
Нам нужно содержимое logcat, пожалуйста. – BenjaminPaul
Также должно быть 'button.getText(). ToString()' и '.equals()' является правильным способом сравнения строк в Java. 'if (" On ".equals (button.getText(). toString()) {'. См. [сравнение строк в Java] (http://stackoverflow.com/questions/19432553/if-edittext-gettext-tostring- dont-work/19432569 # 19432569) – codeMagic