【问题标题】:How to get time for which button was not clicked in Android Activity如何获取未在 Android Activity 中单击哪个按钮的时间
【发布时间】:2015-08-29 05:11:15
【问题描述】:

我正在编写一个简单的应用程序,其中我必须计算在该活动中未单击按钮的时间。 获得准确的时间非常重要。 请帮帮我

//if(buttonPlayStop.didTouchFocusSelect()){
    buttonPlayStop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View v) {
            buttonPlayStopClick();  //calls this method
            new Handler().postDelayed(new Runnable() {  //stop button after particular time
                public void run() {
                    v.setClickable(true);
                    thread.start();
                }
            }, 5000); //end

        }

    });

谢谢

【问题讨论】:

  • 添加您的代码以查看您的尝试
  • //if(buttonPlayStop.didTouchFocusSelect()){ buttonPlayStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { buttonPlayStopClick(); //调用这个方法new Handler().postDelayed(new Runnable() { //在特定时间后停止按钮 public void run() { v.setClickable(true); thread.start(); } }, 5000); //end } }) ; //我用线程
  • 伙计,将其添加到问题中并格式化,没有人会阅读该文本香肠

标签: android xml android-intent android-activity


【解决方案1】:

你需要在你想要开始计数的时候得到开始日期,然后得到用户点击按钮的日期,然后减去两个间隔,你就会得到准确的时间。

我假设第一次单击将开始计数,第二次单击将结束计数。

buttonPlayStop.setOnClickListener(new View.OnClickListener() {

    boolean started = false;
    long start = 0;

    @Override
    public void onClick(final View v) {

        if(!started)
        {
            start = (new Date()).getTime();
            started = true;
        }
        else
        {
            long end = (new Date()).getTime();
            long ellapsedMilliseconds = end-start; // <--here you have the ellapsed time
            started = false;
        }
    }

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多