有什么不同

时间:2017-03-09 10:58:10

标签: java android

button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                image5.setVisibility(View.VISIBLE);
                if(image5.getVisibility()==View.VISIBLE){
                    Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
                }
            }
        });

如果我这样写,我可以获得有关button5的可见性的信息,并发出祝酒信息。

 if(image5.getVisibility()==View.VISIBLE){
            Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
        }
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                image5.setVisibility(View.VISIBLE);

            }
        });

但是如果编写这样的代码,我就无法获得有关可见性的信息,也没有Toast消息。我需要学习clickonlistener块之外的可见性。你能帮助我吗?我需要做什么?

2 个答案:

答案 0 :(得分:1)

if(image5.getVisibility()==View.VISIBLE){
            Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
        }
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                image5.setVisibility(View.VISIBLE);

            }
        });

问题:问题是你只是根据按钮点击使image5可见,并且没有任何动作会在Image5可见时检查。

在第一个示例中,您正在设置可见性,同时检查imageview是否可见,如果是,则显示toast消息。

在第二个例子中没有发生这种情况。

答案 1 :(得分:0)

您可以使用不同的检查来了解visibility的{​​{1}}。

如下代码:

View

您可以在点击监听器中添加以上检查,如下所示:

if(image5.isShown()){
Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
}