我试图通过将 setPressed 设置为 true 来模拟击键,然后通过 postDelay 设置 setPressed 设置为 false 几个滴答声。我的问题是,这在应用一次时效果很好,但是当我尝试遍历包含多个元素的列表时,我认为延迟会相互影响。迭代太快了。我相信解决方案是延迟循环的迭代时间比 postDelayed 长,但我在这方面也没有太大的成功。
public void myOnClickListener(View view) {
switch (view.getId()) {
case R.id.test:
//adds two random digits to list
addRandomDigits(2);
int size = list.size();
System.out.println("Size: " + size);
tmpButton = map.get(list.get(list.size()-1));
tmpButton.setPressed(true);
tmpButton.postDelayed(new Runnable() {
public void run() {
tmpButton.setPressed(false);
}
}, 200);
Log.e("**droid", "Droid sequence: " + getArrayListAsString(list));
break;
如果此解决方案似乎不是最有效、最合乎逻辑等的,我愿意接受任何建议。提前致谢。