2012-01-18 3 views
-4

오류가 발생했습니다.대괄호/세미콜론을 잘못 놓았습니까?

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);   
         } 
        } 
       } 
      } 
    } 
+2

올바르게 들여 쓰기하면 대괄호 오류를 찾아내는 데 도움이됩니다. – geoffspear

+0

누락되었습니다.); (setOnClickListener를 닫으려면) –

+1

우리는 프로그래밍 지식이 필요하지 않습니다. 각 태그의 시작/끝을 비교하면 쉽게 알아낼 수 있습니다. (또는) 울블이 말한 것처럼 들여 쓰기가 응답해야합니다. – kosa

답변

1

당신은 setOnClickListener에 대한 호출의 끝에 중괄호 }와 닫는 );을 닫는이 누락되었습니다.

들여 쓰기 코드를 배워야합니다. 이것은 { 's의 오른쪽 }의 경기를 떠나는 경우에 계산하는 가장 쉬운 방법 ctrl + shift + f

을 눌러 이클립스 쉽게 이루어진다. 당신이 의견을 많이 동일한 리스너를 할당하는 경우 버튼에 대한 보조 쿼리에 대해서는

, 당신이. 당신의 중괄호 중 하나를 제거 뷰의 신원을 확인 (해당 행을 제거 할 수 있습니다에만 유용합니다.

당신 그 다음 이벤트를 생성하지만, 당신이 여기 가지고있는 익명 클래스를 사용하는 경우 테스트 할 필요가없는보기를 식별하는 if(v.getId()==R.id.sound)를 사용할 수있는 경우라면 단순히

sound.setOnClickListener(this);

를 호출 활동에 OnClickListener를 구현할 수 있습니다 전망 .

0

두 번째 부분은 스위치 케이스 문을 사용하십시오. 더 많은 버튼을 더 쉽게 추가 할 수 있습니다.

public void onClick(View v) { 
     switch (v.getId()){ 
     case R.id.sound: 
      vibrator.vibrate(300000); 
     break;  
    }    
} 
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. 
+0

나는 진술을 어떻게하나요? – user1148715

+0

이 방법에 단 하나의 버튼이 연결되어 있으므로 참조 또는 ID를 비교할 필요가 없습니다. 그냥 vibrate() 메서드를 호출하십시오. – adatapost

+0

토큰 "setOnClickListener"에 구문 오류가 발생했습니다. = 첫 줄에 대한이 토큰 다음에 오는 것이 좋습니다. / – user1148715