2011-09-01 47 views
0

我有一個按鈕發送消息 - 但onClickListener中的onClick功能似乎給我一些錯誤,當我告訴它,當點擊時禁用按鈕,並且當我爲它設置烤麪包時。哦,並且錯誤強調了'else'語法錯誤。 (除了代碼工作正常,併發送短信)Android - 短信應用中的onClick錯誤

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(); 
} 

有沒有簡單的解決方案呢?

回答

2

通過格式化你的代碼,我注意到它會出現你的if語句失敗。

你需要有大約生成的代碼{ }期從if語句,如:

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

你可以錯過的{ }是唯一的一次是當你只有一個語句,如果以下的。然而,這總是一個糟糕的主意,只是放入一些{ }就沒有多少努力,並且意味着這樣的問題不會發生。

澄清

在你的問題中的代碼運行if,如果它匹配它運行的下一行。然後代碼繼承if子句的外部(因爲括號丟失),那麼將運行接下來的兩行,無論是否出現if語句的結果。

然後它遇到了它不期待的else。它應該在{ .. }之後,或者在if之後的FIRST語句之後,這就是爲什麼它在else失敗的原因。