条件执行按钮onClick没有按预期运行?

时间:2014-10-10 14:47:47

标签: android if-statement onclick

我想"输入" lay2 如果尚未填写电话号码(phone),则不应离开lay1

我认为我可以用一个简单的if/else条件做到这一点,但它不起作用。而且,更令人惊讶的是,我添加的Toast并没有显示哪个对我来说非常奇怪,因为如果if条件为false,它应该运行。 (所以要么我会被带到lay2,要么显示Toast,但都不会发生)

btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(ph0ne.getText().toString()==null){
                lay1.setVisibility(View.GONE);
                lay2.setVisibility(View.VISIBLE);
            }
            else{
                Toast.makeText(getApplicationContext(),"TEST CHAT",Toast.LENGTH_SHORT);
            }
        }
    });

btn2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        lay1.setVisibility(View.VISIBLE);
        lay2.setVisibility(View.GONE);
    }
});

1 个答案:

答案 0 :(得分:2)

您永远不会在.show()上致电Toast,因此它当然不会显示。

 Toast.makeText(getApplicationContext(),"TEST CHAT",Toast.LENGTH_SHORT).show();

您在else内实际执行的操作是创建Toast但从不显示它。如果您使用了日志或断点,我相信您会看到它进入else

不确定,但您可能还想检查电话号码是否确实包含文字,而不仅仅是null是否""。在检查它是null还是检查长度后,检查它是否等于{{1}}。