我无法弄清楚为什么Eclipse抱怨我的第二个“OnClick”方法支架......
我知道这很简单,但我似乎无法修复它!
我的活动代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CallService cs = new CallService();
TotalTime = TotalTime + (cs.EndTime - cs.StartTime);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast toast = Toast.makeText(getApplicationContext(), ""+TotalTime, Toast.LENGTH_SHORT);
toast.show();
} // <-- Why is it complaining about this bracket?!
}
答案 0 :(得分:4)
对于每个需要关闭它的左括号或括号,您还需要用分号完成每个语句。编译器希望添加});
:
// You open these, so you need to close them in order
// v v
button.setOnClickListener(new View.OnClickListener() {
// v
public void onClick(View v) {
// Perform action on click
Toast toast = Toast.makeText(getApplicationContext(), ""+TotalTime, Toast.LENGTH_SHORT);
toast.show();
}
// ^
}); // This is what the compiler wants
// ^^
答案 1 :(得分:2)
你错过了这个:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Toast toast = Toast.makeText(getApplicationContext(), ""+TotalTime, Toast.LENGTH_SHORT);
toast.show();
}
}); // <------------- Close the parenthsesis!!
答案 2 :(得分:1)
1。你在错误的地方给了 extra bracket
,错过了 a bracket
和{{ 1}}与a brace
。
- 错误:
semicolon
- 正确:
new View.OnClickListener()) // Dont add ")" here.
- 错过了:
new View.OnClickListener()
<强> 2。在程序中将此部分替换为您的部分,它肯定会起作用......
} );
3。 进一步轻松我发布 您的整个工作代码....
/////////////整个onCreate()带有更正后的代码///////////////
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Toast toast = Toast.makeText(getApplicationContext(), ""+TotalTime, Toast.LENGTH_SHORT);
toast.show();
}
} );
答案 3 :(得分:1)
我建议你把你的代码放在像eclipse这样的IDE中。它通常会反映出编译错误,因此您无需额外花费在搜索此类错误上。如果您想格式化代码,请在eclipse中执行以下步骤
当光标位于编码区域时
按ctrl + A //选择所有代码
然后按ctrl + shift + F //这会格式化你的代码
现在您可以轻松找到括号的起点和终点,并且您的代码看起来格式很好。