2017-03-09 197 views
-4
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); 

      } 
     }); 

但是,如果寫這樣的代碼,我不能得到關於可見性的信息,並且沒有烤麪包消息。我需要了解clickonlistener塊之外的可見性。你可以幫我嗎?我需要做什麼?

+0

使變量外'clickonlistener',並在'clickonlistener'分配的知名度吧 – miljon

+1

爲什麼你不能獲得知名度? 'view.getVisibility()'。你的代碼也沒有意義,你指定VISIBLE然後檢查它是否可見? – m0skit0

回答

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); 

      } 
     }); 

問題:問題是,你只是讓圖像5可見基礎上,按一下按鈕,沒有哪個會檢查時圖像5獲得可見的任何行動。

在第一個示例中,您將設置可見性並同時檢查imageview是否可見,如果是,則顯示吐司消息。

在第二個例子中沒有發生這種情況。

+0

@MohammedAtif老兄再次檢查代碼,他正在設置基於按鈕點擊的imageview可見性!他沒有提到任何關於按鈕隱形的內容。 –

+0

是的,對不起我的壞,他的代碼格式使得它看起來像監聽器是在裏面,如果阻止,雖然意識到錯誤後儘快刪除評論。 –

0

您可以使用不同的檢查來了解的View

像下面的代碼:

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

您可以點擊監聽器添加上述檢查象下面這樣:

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