Android - ошибки onClick в приложении SMS - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть кнопка, которая отправляет сообщение - однако функция onClick в onClickListener, кажется, дает мне несколько ошибок, когда я говорю об отключении кнопки при нажатии, И когда я устанавливаю для нее тост.Да, и эта ошибка подчеркивает 'else', говоря о синтаксической ошибке.(Кроме этого код работает нормально и отправляет SMS)

public void onClick(View v) 
{                
    messageinfo mi = new messageinfo();
    String message = txtMessage.getText().toString();                 

    if (message.length()>0)                
        sendSMS(mi.SMSNO(), smsmessage);  
        Toast.makeText(getBaseContext(), "sending", Toast.LENGTH_SHORT).show();
        myButton.setEnabled(false);

    else
        Toast.makeText(getBaseContext(), "enter your message", Toast.LENGTH_SHORT).show();
}

Есть ли простое решение для этого?

1 Ответ

2 голосов
/ 01 сентября 2011

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

Вам нужно иметь { } s вокруг получающегося кода из оператора if, например:

if(true){
  line 1;
  line 2;
  line 3;
}
else {
  line 1;
  line 2;
  line 3;
}

Единственный раз, когда вы можете пропустить { } s, это когда у вас есть только ОДИН оператор после if.Однако это всегда плохая идея, это не так много усилий, чтобы просто затратить несколько { } с, и означает, что такие проблемы никогда не произойдут.

Разъяснение

Код в вашем вопросе запускает if, и если он совпадает, он запускает СЛЕДУЮЩУЮ ЛИНИЮ.Затем код выполняет ЗАВЕРШЕНИЕ предложения if (из-за пропущенных скобок), поэтому он будет запускать следующие две строки НЕЗАВИСИМО от результата оператора if.

Затем он встречает else, который егоне ожидая.Предполагается, что он должен быть либо после { .. }, либо непосредственно после оператора FIRST после оператора if, поэтому он завершается с ошибкой в ​​else.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...