java - 2 OnClickListeners for one Button 无法解析 OnClick 监听器
问题描述
我将以下代码行添加到我的 OnCreate 方法中。我的目标是为两个函数分配一个按钮并交替调用它们。第一次单击按钮的文本应更改并且 EditText 应该是可编辑的。在第二次单击时,字段不应再可编辑,并且按钮文本应更改为第一个选项。我已经实现了两个 OnClickListener,程序结构对我来说似乎是合乎逻辑的。不过,我收到一条错误消息;“无法解析符号 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);
解决方案
你为什么不创建一个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);
推荐阅读
- firebase - 如何根据存储在云 Firestore 中的日期触发云功能?
- docker - 了解 Docker 覆盖网络
- python - 根据df中列值的多个条件过滤df?
- javascript - 模块化算术和大幂幂
- file-format - C#.NET 中的 GEDCOM 兼容文件输出
- vba - 如何将文本框链接到 Excel 中特定工作表上的特定单元格?
- javascript - JavaScript 取消组合对象中的数据
- python - 将变量传递给 By.CSS_SELECTOR,得到 InvalidSelectorException Python
- python-3.x - 使用 Selenium 获取文本文件中的行内容
- spring - 如何在 Spring Boot 项目中集成测试数据库视图