【问题标题】:Simulate Android button click programmatically [duplicate]以编程方式模拟Android按钮单击[重复]
【发布时间】:2013-03-23 08:08:31
【问题描述】:

我看过this路线,

View.performClick();

但它不显示实际按下的按钮。我也试过this方法,

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);

【问题讨论】:

标签: java android


【解决方案1】:

您的代码很好。只需在invalidate(); 之后添加btn.performClick();

为了更好看你可以减少handler1的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2013-10-09
    • 2013-02-26
    • 1970-01-01
    • 2017-06-17
    • 2013-05-23
    • 1970-01-01
    相关资源
    最近更新 更多