【发布时间】:2021-07-05 20:36:08
【问题描述】:
我不太擅长 Java 和 Android,但我想构建一个简单的计时器应用程序。 我已经创建了开始、停止/暂停、重置按钮并且它可以工作,但是我想在固定时间(例如在 00:15 秒)显示消息/文本(“好”),然后消息必须隐藏并且新消息必须在 00:28 秒(“超级”)显示并隐藏。 我正在粘贴 MainActivity.java 中的部分代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.activity_main);
chronometer = findViewById(id.chronometer);
chronometer.setFormat("(%m,%s)");
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if ((SystemClock.elapsedRealtime() - chronometer.getBase()) >= 15000) {
Toast.makeText(MainActivity.this, "Good!", Toast.LENGTH_SHORT).show();
}
if ((SystemClock.elapsedRealtime() - chronometer.getBase()) >= 28000) {
Toast.makeText(MainActivity.this, "Super!", Toast.LENGTH_SHORT).show();
}
}
});
}
此代码当前在 00:15 秒生成第一条消息,但该消息一直停留到 00:35-6 秒,然后显示第二条消息,但两条消息开始随机显示。
我尝试将 if ((SystemClock.elapsedRealtime() - chronometer.getBase()) >= 15000) 更改为 if ((SystemClock.elapsedRealtime() - chronometer.getBase()) == 15000),但这根本不起作用。
我已经到处搜索并做了几天的测试,但没有关于如何做的结果。 我也用文本视图测试过,但不好。 如果有人可以帮助我解决如何通过 toast 消息或文本视图或其他方式解决此问题。 非常感谢您。
【问题讨论】:
标签: android textview message toast chronometer