2011-09-01 37 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失败的原因。