我收到错误
插入“}”以完成第4行的半冒号的ClassBody。并且底部的最后一个}出现错误,表示同样的错误。有帮助吗? O和我应该放在括号中的是什么--->(v == ????){Cuz显然我的按钮不是变量。我应该为所有问号插入什么感谢! = P
public class AndroidVibrator extends Activity
{
/** Called when the activity is first created. */
private Button sound;
private Vibrator sound1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button sound = (Button)findViewById(R.id.sound);
sound.setOnClickListener(new View.OnClickListener()
{
Vibrator vibrator = (Vibrator)
getSystemService(Context.VIBRATOR_SERVICE);
public void onClick(View v)
{
if(v==????)
{
vibrator.vibrate(300000);
}
}
}
}
}
答案 0 :(得分:1)
在}
的调用结束时,您缺少2个结束大括号);
和结束setOnClickListener
。
你必须学习缩进代码。按ctrl
+ shift
+ f
如果左{
和右}
匹配,则最容易计数。
关于关于该按钮的辅助查询,您可以删除该行(这会消除您的一个大括号。只有在为大量视图分配相同的侦听器时,才能检查视图标识。
您可以在活动中实现OnClickListener,然后只需调用
sound.setOnClickListener(this);
如果是这种情况,那么您可以使用if(v.getId()==R.id.sound)
来识别创建事件的视图,但是当您使用匿名类时,无需测试视图。
答案 1 :(得分:1)
您正在创建匿名(learn how to create anonymous class)内部类来处理点击操作。
sound.setOnClickListener(new View.OnClickListener()
{ //start
@Override
public void onClick(View v)
{
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(300000);
}
} //end anonymous class
); //end setOnClickListener method.
答案 2 :(得分:0)
对于第二部分,请使用switch case语句。它允许更容易添加更多按钮。
public void onClick(View v) {
switch (v.getId()){
case R.id.sound:
vibrator.vibrate(300000);
break;
}
}