首页 > 解决方案 > 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);

标签: javaandroidbuttononclicklistener

解决方案


你为什么不创建一个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);

推荐阅读