我正在创建一个Android应用程序,当你显示一个特定的数字时,你点击一个按钮来停止一个循环计数器。我有一个数组(aNums)持有一些int值,并希望计数器在显示数组中的第一个数字(在本例中为“2”)时单击时停止。但是出于某种原因,它在点击时决定停在“1”上。我不确定我的代码是否错误,或者是否存在计时问题,并且当它即将更改为数字“2”时它正在停止。到目前为止,这是我的代码:
Criteria crit = session.createCriteria(TableClass.class);
crit.add(Restrictions.eq("fieldName", "string1"));
有谁知道问题是什么?
由于
答案 0 :(得分:0)
你忘记了两个右括号:
View.OnClickListener handler2 = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i <= aNums.length; i++) {
if (a == aNums[0]) {
Stop();
} //I added this
}
}
}//and this
但我认为这里不需要for循环:当你点击a
等于数组中索引0处的数字时,你想要停止线程,对吗?
View.OnClickListener handler2 = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (a == aNums[0]) {
Stop();
}
}
}
此外,此检查不是必需的,因为a
永远不会是10或更多:
if (a < 10) {
handler.postDelayed(this, 1000);
}
最后一件事:当您退出线程时,文本不会更新。点击后尝试添加updateText()
:
View.OnClickListener handler2 = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (a == aNums[0]) {
Stop();
updateText();
}
}
}