gpt4 book ai didi

android - RatingBar 设置前延迟提交

转载 作者:行者123 更新时间:2023-11-29 17:59:37 25 4
gpt4 key购买 nike

我有一个 RatingBar,用户可以在其中提交星级。我没有按钮,我想让它对用户更友好,让它动态提交。

setOnRatingBarChangeListener 方法中,我提交了星星。

这里是问题

我想在提交之前延迟 1 秒,如果用户更改为不同的星级,请重置计时器。

我试图阻止多个数据库提交(或至少限制它们)。

这可能吗?这怎么写?

最佳答案

绝对有可能。执行此操作的理想方法可能是在您的类中创建一个 Handler。当监听器被调用时,取消一个包含提交代码的 Runnable 并发布它在 1 秒内运行。如果这是您第一次收到回电,取消将不会有任何效果,但这没关系。确保您的 Runnable 不是匿名的,这样只有一个实例可以取消。

您的问题与此类似:

How to remove a runnable from a handler object added by postDelayed?

这是一些代码:

Handler mHandler = new Handler(Looper.getMainLooper());

Runnable mSubmit = new Runnable() {
public void run() {
// Submit to server ...
}
}

RatingBar.OnRatingBarChangeListener mListener =
new RatingBar.OnRatingBarChangeListener() {
void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
mHandler.removeCallbacks(mSubmit);
mHandler.postDelayed(mSubmit, 1000);
}
}

关于android - RatingBar 设置前延迟提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16969749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com