我见过this https://stackoverflow.com/questions/4553374/how-to-simulate-a-button-click-through-code-in-android route,
View.performClick();
但它不显示按钮的实际按下情况。我也尝试过this https://stackoverflow.com/questions/6887674/android-button-programmatic-click method,
btn.setPressed(true);
btn.invalidate();
但是,它只显示按钮被按下。我已将范围缩小到这段代码,按下然后松开,但不单击。我错过了什么吗?我怎样才能像用户点击一样完成一次点击(monkeyrunner 目前还不是一个选项)
btn = (Button) findViewById(R.id.btn_box);
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
btn.setPressed(true);
btn.invalidate();
Handler handler1 = new Handler();
Runnable r1 = new Runnable() {
public void run() {
btn.setPressed(false);
btn.invalidate();
}
};
handler1.postDelayed(r1, 1000);
}
};
handler.postDelayed(r, 1000);
你的代码没问题。只需添加btn.performClick();
之后invalidate();
为了获得更好的外观,您可以减少handler1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)