【发布时间】:2018-10-08 05:49:42
【问题描述】:
我声明了一个 int 值,它试图增加每次按钮点击,但一些时间值不增加,一些在 2 或 3 次点击后增加工作。我总是得到日志,所以单击事件没有问题,已经尝试过没有静态但仍然无法正常工作。
public static int TotalScore = 0;
btnsubmit.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
initScoreSubmit();
}
});
public void initScoreSubmit()
{
TotalScore++;
txtTotalPoint.setText("Total Point: " + String.valueOf(TotalScore));
settings.set(AppSettings.Key.UserTotalPoint, TotalScore);
Log.d(TAG, "Total_point "+TotalScore);
}
【问题讨论】:
-
submitScore() 方法有什么作用?
-
尝试使
TotalScorevolatile,或使用AtomicInteger。 -
我不是安卓专家,但你认为它是在另一个线程中更新的,尝试使用 volatile 变量
-
这可能是因为执行 initScoreSubmit 方法可能存在延迟。因此,当按下按钮时,将按钮设置为禁用,并在登录 initScoreSubmit 方法后将按钮设置为启用
-
请显示完整代码的minimal reproducible example,而不是两个方法和一个类变量