这是我的代码
final boolean identifier = true;
if (i2 > i){
if (identifier){
v5.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
identifier = false;
}
});
}
if (!identifier){
v5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
identifier = true;
}
});
}
}
但这似乎没有成功。 我想要的是当点击v5时,它将运行一个代码,它将改变v5 onClicklistener
答案 0 :(得分:2)
试试这个。
boolean identifier = false;
v5.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
if(!identifier){
// first click
identifier=true;
}else{
// secondclick
identifier=false;
}
}
});
答案 1 :(得分:2)
final
声明中移除identifier
,并将其设为class private field
,以便您可以通过OnClickListener
访问它。只设置一个OnClickListener
并让它检查identifier
的值,如下所示:
v5.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
identifier = !identifier; // switch the value to false/true
// update your UI
}
});
答案 2 :(得分:0)
int identifier = 0;
if (i2 > i){
if (identifier=0){
v5.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
identifier = 1;
}
});
}
if (identifier!=0){
v5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
identifier = 0;
}
});
}
}
答案 3 :(得分:0)
在let startTimeStr = '202012141614';
let endTimeStr = '202012141800';
let asDateTime = (d) => new Date(
d.substring(0,4),
d.substring(4,6) - 1,
d.substring(6,8),
d.substring(8,10),
d.substring(10,12)
)
let startTime = asDateTime(startTimeStr);
let endTime = asDateTime(endTimeStr);
let result = (endTime - startTime) / 60000;
console.log(result);
方法之前初始化identifier
布尔值。也不要设为onCreate()
。任何Final变量的值都无法修改。
final