2012-02-17 16 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); 
} 
} 

} 

私もそうそれは問題ではないのマニフェストでusingステートメントを宣言しました。今までボタンをクリックしても実際には何も起こりません...誰にでもアイデアはありますか?

ありがとうございます!

+1

ボタンはどこですか? –

+1

ボタンにonClickListenerを登録することを忘れないでください。 – Jave

+0

これはonClickイベントで、一連のボタンがありますが、私はちょうど上記のコードsnippitの1つをindcluded。 – 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); 
      } 
     } 
    }; 

}