我正在尝试使用edittext Boxvibrate并在输入错误密码时立即更改颜色
final Drawable oldBackground = findVIEwByID(R.ID.email).getBackground();TimerTask timerTask = new TimerTask() { @OverrIDe public voID run() { MainActivty.this.findVIEwByID(R.ID.password).setBackground(oldBackground); MainActivty.this.findVIEwByID(R.ID.email).setBackground(oldBackground); }};Toast.makeText(MainActivty.this , valArray.get(0).toString(), Toast.LENGTH_SHORT).show();findVIEwByID(R.ID.password).setBackgroundcolor(color.RED);findVIEwByID(R.ID.email).setBackgroundcolor(color.RED);Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);v.vibrate(500);Timer timer = new Timer();timer.schedule(timerTask, 1000);
解决方法:
使用runOnUiThread或使用Handler.
runOnUiThread(new Runnable(){ @OverrIDe public voID run(){ // update ui here } });
处理器
Handler m_handler;Runnable m_handlerTask ; m_handler = new Handler(); m_handlerTask = new Runnable(){ @OverrIDe public voID run() { // do something m_handler.postDelayed(m_handlerTask, 1000); } }; m_handlerTask.run();
您还可以使用CountDown计时器
Countdowntimer in minutes and seconds
总结以上是内存溢出为你收集整理的android – editText框的计时器:只有创建视图层次结构的原始线程才能触及其视图全部内容,希望文章能够帮你解决android – editText框的计时器:只有创建视图层次结构的原始线程才能触及其视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)