2 一个按钮的 OnClick 侦听器无法解析 OnClickListener
2 OnClickListeners for one Button cannot resolve the OnClick Listener
我在我的 OnCreate 中添加了以下代码行 method.My 目标是将一个按钮分配给两个功能并交替调用它们。第一次点击按钮的文本应该被改变并且 EditText 应该是可编辑的。第二次单击时,字段不应再可编辑,按钮文本应更改为第一个选项。我已经实现了两个 OnClickListeners,程序结构对我来说似乎是合乎逻辑的。不过,我收到一条错误消息; "Cannot resolve symbol onClickListener"。我该怎么做才能完成上述设置 运行?感谢所有回复!
private Button ProfilUpdate;
ProfilUpdate=findViewById(R.id.buttonProfilUpdate);
.
.
.
.
final ProfilUpdate.OnClickListener listener2 = new View.OnClickListener() {
@Override
public void onClick(View v) {
ProfilUpdate.setText("Profil bearbeiten");
profilVorname.setFocusable(false);
}
};
ProfilUpdate.OnClickListener listener1 = new View.OnClickListener() {
@Override
public void onClick(View v) {
ProfilUpdate.setText("Änderungen speichern");
profilVorname.setFocusable(true);
v.setOnClickListener(listener2);
}
};
ProfilUpdate.setOnClickListener(listener1);
一次只能在一个视图上有一个点击侦听器。使用 ProfileUpdate.setOnClickListener(listener object)
。要获得 alternate
功能,您可以定义一个布尔值来跟踪状态,例如,在 Boolean shouldChangeText = true
顶部定义一个 class 变量,在 onClick
] body 在监听器中,做类似的事情:
If (shouldChangeText) { // change the text
}
else { // clear the text
}
shouldChangeText = !shouldChangeText
你为什么不创建一个 boolean
isFirstClick = true
,然后在同一个 listener
中检查它
ProfilUpdate.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isFirstClick){
//Do the job for the first click process
isFirstClick= false;
}else {
//Do the job for the second click process
isFirstClick= true;
}
}
};
ProfilUpdate.setOnClickListener(listener);
我在我的 OnCreate 中添加了以下代码行 method.My 目标是将一个按钮分配给两个功能并交替调用它们。第一次点击按钮的文本应该被改变并且 EditText 应该是可编辑的。第二次单击时,字段不应再可编辑,按钮文本应更改为第一个选项。我已经实现了两个 OnClickListeners,程序结构对我来说似乎是合乎逻辑的。不过,我收到一条错误消息; "Cannot resolve symbol onClickListener"。我该怎么做才能完成上述设置 运行?感谢所有回复!
private Button ProfilUpdate;
ProfilUpdate=findViewById(R.id.buttonProfilUpdate);
.
.
.
.
final ProfilUpdate.OnClickListener listener2 = new View.OnClickListener() {
@Override
public void onClick(View v) {
ProfilUpdate.setText("Profil bearbeiten");
profilVorname.setFocusable(false);
}
};
ProfilUpdate.OnClickListener listener1 = new View.OnClickListener() {
@Override
public void onClick(View v) {
ProfilUpdate.setText("Änderungen speichern");
profilVorname.setFocusable(true);
v.setOnClickListener(listener2);
}
};
ProfilUpdate.setOnClickListener(listener1);
一次只能在一个视图上有一个点击侦听器。使用 ProfileUpdate.setOnClickListener(listener object)
。要获得 alternate
功能,您可以定义一个布尔值来跟踪状态,例如,在 Boolean shouldChangeText = true
顶部定义一个 class 变量,在 onClick
] body 在监听器中,做类似的事情:
If (shouldChangeText) { // change the text
}
else { // clear the text
}
shouldChangeText = !shouldChangeText
你为什么不创建一个 boolean
isFirstClick = true
,然后在同一个 listener
ProfilUpdate.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isFirstClick){
//Do the job for the first click process
isFirstClick= false;
}else {
//Do the job for the second click process
isFirstClick= true;
}
}
};
ProfilUpdate.setOnClickListener(listener);