java - Android Studio 中使用 setOnClickListener 的循环

标签 java android loops onclicklistener

嘿,我正在尝试编写一个简单的代码,一旦单击图像两次或更多次,布局的可见性就可见。 遗憾的是我的代码不起作用,但我不明白为什么。

这是我的代码 -

public class MainActivity extends AppCompatActivity {

ImageView logoIMG;
LinearLayout adminLinear;

int cnt = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    logoIMG = (ImageView) findViewById(R.id.logo);
    adminLinear = (LinearLayout) findViewById(R.id.adminLinear);


    adminLinear.setVisibility(View.INVISIBLE);
    adminLinear.setEnabled(false);


    while (adminLinear.getVisibility() != View.VISIBLE) {
        logoIMG.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (cnt >= 2) {
                    adminLinear.setVisibility(View.VISIBLE);
                    adminLinear.setEnabled(true);
                } else {
                    cnt++;
                }
            }
        });
    }
}

}

最佳答案

在 while 循环中设置 onClickListener,将无限循环并继续尝试添加新的监听器,这将导致问题。

执行以下操作:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    logoIMG.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (cnt >= 2) {
                    adminLinear.setVisibility(View.VISIBLE);
                    adminLinear.setEnabled(true);
                } else {
                    cnt++;
                }
            }
        });
}

关于java - Android Studio 中使用 setOnClickListener 的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651040/

相关文章:

android - 自定义复选框图像被切断

android - 将 textIsSelectable 设置为 true 后,如何将 EditText 重置回可编辑状态?

java - AOP Spring 方面方法未应用于目标对象

java - 为单个实体禁用 JPA Hibernate 模式验证

android - Drawable 被拉伸(stretch)以适应 View

bash - 在 bash 中遍历文件时保留空格

Python 跳转 while 循环

javascript - 使用 Javascript 闭包完成处理程序的 Parse.com 查询查找不显示结果

java - intellij Idea 12.0.2 的新手,如何删除项目

java - 如何在Java中正确创建和实现ThreadPool类型的类