2012-03-10 21 views
0

eclipseとandroid sdk(java)を使用して単純なアンドロイドアプリを作成しようとしていますが、いくつかの制限があるEditTextボックスがありますが、EditTextボックスが空であれば、私のコードは以下の通りです。なぜボックスが空のときにクラッシュするのですか?それは単純なものではありませんか?EditTextが空であるかどうかをチェックする

buttonHash.setOnClickListener(new View.OnClickListener(){ 

    public void onClick(View v){ 
     switch(v.getId()){ 
     case R.id.hash_button: 
     TextView msg = (TextView)findViewById(R.id.tell); 
     info = (EditText)findViewById(R.id.entry); 
     anss = info.getText().toString(); 
     //String ans = Double.toString(res); 
     double result = Double.parseDouble(anss); 
     if (res == result){ 
     msg.setText("Correct"); 
     }else 
     if (res != result){ 
      msg.setText("Incorrect"); 
      }else 
     if (info.getText().toString().equals("")){ 
      msg.setText("Empty!"); 
      } 
     }  
    } 
}); 
+0

なぜCHECKIはあなたですあなたはそれを使用した後に文字列が空であるかどうかを調べる? LogCatから見られるように、どのラインでクラッシュするのですか? – PearsonArtPhoto

+0

logcatはどこですか? –

+0

最後のビットがクラッシュするだけです。テキストビューが空の場合はメッセージ「空」を表示したい – Tacit

答えて

0

はあなたの問題を解決するために、このコードを使用することができます。

public void onClick(View v) { 
      if (_text.getText().toString().equals("")) 
       Toast.makeText(getApplicationContext(), "Empty BOX", 5000).show(); 
      else 
       Toast.makeText(getApplicationContext(), _text.getText().toString(), 5000).show(); 

     } 

これを試してみてください...これは動作します。

0

info.getTextのための最初のチェックは、()はnull

if (info.getText() == null || "".equals(info.getText().toString())){ 
      msg.setText("Empty!"); 
      } 
0

であるあなたが "" からダブルを解析しようとしているだって、例外はここにあるかもしれない、と例外がNumberFormatExceptionがあるのでご注意ください。

anss = info.getText().toString(); 
     //String ans = Double.toString(res); 
     double result = Double.parseDouble(anss); 

ので、この問題を回避するために、次の手順を実行します。

double result = 0; 

try{ 

    result = Double.parseDouble(anss); 

}catch(NumberFormatException ex) 
{ 
} 
0

はこれをしようと私はちょうど警告ウィンドウが追加されている

ます。public void onClickの(ビューV){ 場合(_text.getText()。のtoString()。等号( "")){

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setMessage("Text is empty"); 
      builder.setCancelable(true); 
      builder.setPositiveButton("OK", 
        new DialogInterface.OnClickListener() { 

         @Override 
         public void onClick(DialogInterface dialog, int id) { 
          // TODO Auto-generated method stub 
          dialog.cancel(); 
         } 
        }); 
      builder.create().show(); 

      } 

      else 
       Toast.makeText(getApplicationContext(), _text.getText().toString(), 5000).show(); 

     } 
0

のEditTextの値がnullになることはありません。..

は、以下の方法でそれを使用します。

if ((info.getText().toString().trim().getLength() == 0) && ("").equals(info.getText().toString().trim())){ 
      msg.setText("Empty!"); 
      } 
     } 
関連する問題