每当我在onKeyListener中键入特定的单词时,我都会试着让手机振动。
我想出了这个代码,我认为它会起作用,但遗憾的是,它没有。完成按钮不会以纵向显示,而当我输入正确的短语时,手机(galaxy s3)仍然不动。
我总是在logcat“SendUserActionEvent()== null;”中得到这个。 感谢您的时间。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView text = (TextView)findViewById(R.id.text);
EditText edittext = (EditText)findViewById(R.id.editText);
edittext.setImeOptions(EditorInfo.IME_ACTION_DONE);
edittext.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View view, int keycode, KeyEvent evt) {
if (evt.getAction()== KeyEvent.ACTION_DOWN)
{
if(keycode == KeyEvent.KEYCODE_ENTER){
if (this.equals("Vibrate")){
Vibrator vibrate = (Vibrator)
getSystemService(Context.VIBRATOR_SERVICE);
vibrate.vibrate(1000);
}
else{
text.setText("Didn't Vibrate");
}
}
}
// TODO Auto-generated method stub
return true;
}
});
}
}
答案 0 :(得分:0)
您可能想要使用TextWatcher
http://developer.android.com/reference/android/text/TextWatcher.html
edittext.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable e) {
if ("Vibrate".equals(e.toString()) {
// Vibrate the phone
}
}
//... other methods
}
另外,请勿忘记向您的清单添加VIBRATE
权限。最糟糕的是,通过你的代码来试图了解正在发生的事情。