2014-10-10 28 views
0

我想「輸入」lay2只有如果電話號碼(phone)尚未填寫,否則不應該離開lay1條件以超出按鈕onClick不按預期運行?

我以爲我可以用簡單的if/else條件做到這一點,但它不起作用。而且,更令人驚訝的是,我添加的Toast並不顯示這對我來說很奇怪,因爲如果if條件是false,它應該運行。 (因此,無論我就會採取lay2Toast將顯示但無論發生)

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

回答

2

你永遠不會調用.show()Toast所以當然它不顯示。

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

所有你實際上是在做else內部創建Toast但從來沒有顯示它。如果你使用日誌或斷點,我相信你會看到它進入else

不確定,但您可能還想檢查電話號碼是否實際上有文字,而不僅僅是如果它是null或不。在檢查它是否爲null或檢查長度後檢查它不等於""