2012-02-17 4 views
0

내 응용 프로그램에 진동 기능을 구현하는 데 약간의 문제가 있습니다. 내 코드는 다음과 같습니다Android : 진동

public class VibrationActivity extends Activity { 

private Vibrator vib; 

private long[] pattern = { 0, 500, 200, 500 }; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

vib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 

} 

public void onClick(View v) { 
int id = v.getId(); 

if (id == R.id.button1) { 
vib.vibrate(pattern, -1); 
} 
} 

} 

또한 그래서이 문제가 아니다 매니페스트에서 사용하는 문을 선언했다. 버튼을 클릭하면 실제로 아무 일도 일어나지 않습니다 ... 어떤 아이디어가 있습니까?

미리 감사드립니다.

+1

여기서 버튼이 무엇입니까 ??? –

+1

버튼에 onClickListener를 등록하는 것을 잊지 마십시오. – Jave

+0

onClick 이벤트에는 일련의 버튼이 있지만 위의 코드 스 니핏 중 하나만 표시했습니다. – Shaw

답변

3

사용이 코드 : 귀하의에서 onCreate에서

public class testVibrate extends Activity { 
    /** Called when the activity is first created. */ 
    private Vibrator vib; 
    private long[] pattern = { 0, 500, 200, 500 }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     vib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 
     findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       vib.vibrate(pattern, -1); 
      } 
     }); 
    } 
0

는()를 사용 :

setContentView(R.layout.main); 
vib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 

Button btn = (Button)findViewById(R.id.button1); 
btn.setOnClickListener(new OnClickListener(){ 
    public void onClick(View view) { 
     vib.vibrate(pattern, -1); 
    } 

}); 
0

당신이 ID로 버튼을 찾기 위해 레이아웃을 부풀려해야합니다. 단추에 수신기를 연결하십시오.

public class VibrationActivity extends Activity { 
    private Vibrator vib; 

    private Button button; 

    private long[] pattern = { 0, 500, 200, 500 }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.your_layout); 

     vib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE); 

     button = (Button) findViewById(R.id.button1); 

     button.setOnClickListener(mOnClickListener); 
    } 

    private OnClickListener mOnClickListener = new OnClickListener() 
    { 

     @Override 
     public void onClick(View v) 
     { 
      int id = v.getId(); 

      if (id == R.id.button1) 
      { 
       vib.vibrate(pattern, -1); 
      } 
     } 
    }; 

}