首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在同一个按钮上设置不同的onclicklisteners?

如何在同一个按钮上设置不同的onclicklisteners?
EN

Stack Overflow用户
提问于 2018-01-30 13:09:12
回答 4查看 98关注 0票数 0

我正在用一个文本视图和一个开始/停止按钮在android中实现一个计时器。

如何在同一按钮的单击侦听器上注册不同的事件,以便当第一次单击它时,它将启动一个定时器,当第二次单击时,它将停止定时器并报告事件之间的时间?我正在用一个文本视图和一个开始/停止按钮在android中实现一个计时器。

如何在同一按钮的单击侦听器上注册不同的事件,以便当第一次单击它时,它将启动一个定时器,当第二次单击时,它将停止定时器并报告事件之间的时间?

Edit1

我所做的就是

代码语言:javascript
运行
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_depth);
    findViewById(R.id.btn).setOnClickListener(this);

}
boolean showingFirst = true;
public void generate(View view){

    if(showingFirst){
        long startTime = System.currentTimeMillis();
        showingFirst = false;
    }else{
        long difference = System.currentTimeMillis() - startTime;
        showingFirst = true;
        TextView myText = (TextView)findViewById(R.id.tv);
        myText.setText(String.valueOf(difference));
    }

}

但是,由于启动时间很长,如果当控件进入else循环时,它显示无法解析符号“starttime”

请帮助并特别感谢艾利阿米罗

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-01-30 13:38:07

您可以使用全局布尔isStart来完成它,并根据isStart的值启动或停止计时器。

代码语言:javascript
运行
复制
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (isStart) {
            // Stop timer
            isStart = false;
        } else {
            // Start timer
            isStart = true;
        }
    }
});
票数 1
EN

Stack Overflow用户

发布于 2018-01-30 13:13:37

尝尝这个,

代码语言:javascript
运行
复制
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(btn.getText().toString().equals("Start")){
            btn.setText("Stop");
            // start timer
        }else{
            btn.setText("Start");
            // stop timer
        }
    }
});
票数 0
EN

Stack Overflow用户

发布于 2018-01-30 13:34:02

在单击(开始/停止)按钮上,根据您的代码启动计时器并将一个值返回给按钮,当您再次单击该标志值时,可以使用该标志值为stop和start创建一个if条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48522252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档