2012-09-17 70 views
0

我想測試一個編輯文本框在用戶單擊按鈕以獲取結果之前不是空的,我希望應用程序通知用戶特定文本框不能爲空並返回應用程序而不是拋出異常。我嘗試使用try和catch語句,但catch總是有錯誤。請幫助java中的例外ME

   public void onClick(View v) { 
      // TODO Auto-generated method stub 


       EditText locName = (EditText)findViewById(R.id.address); 
       String textName = locName.getText().toString(); 

       if (textName != null){ 
        getAddress(); 
       }else if (textName == null) 
        { 
         Toast.makeText(getBaseContext(), "Enter a destination address", Toast.LENGTH_LONG).show(); 
        } 

     } 
+0

你得到什麼樣的異常?爲什麼這個問題有「java me」而不是「Android」 –

+0

logcat輸出會很有用。建議添加對locName和locName.getText()(在調用toString()之前)的檢查。 – sandrstar

+0

它關閉應用程序 – user1642943

回答

0

在此之後:String textName = locName.getText().toString();你可以確保該.length屬性不等於零。如果是,則顯示通知並通過return聲明退出事件處理程序。

0

捕獲異常,然後在catch部分爲用戶提供消息,並且不要再拋出異常。

0

嘗試這樣....

public void onClick(View v) { 

      EditText locName = (EditText)findViewById(R.id.address); 

      if (locName.getText().toString().length() > 0) { 
       getAddress(); 
      } 
      else if(locName.getText().toString().length() == 0) 
      { 
       Toast.makeText(getBaseContext(), "Enter a destination address", Toast.LENGTH_LONG).show(); 
      } 

    } 
+0

謝謝,你的方法工作,雖然我不得不使用locName而不是textName – user1642943

+0

oh..yes ...那是我的錯誤...我編輯了... –

0

利用這個來驗證EditText

if(sUserName.trim().length()==0 || sPassword.trim().length()==0){ 
     MsgBox(ctx,"Please enter Login credentials to activate !"); 
     return; 
    }