返回空结果?

问题描述:

我创建了一个将美元兑换成欧元的应用程序,要求在没有输入的情况下,不会显示结果。我这样的代码:返回空结果?

case R.id.main_btn_convert: 

     String input = mTvBaseCurrency.getText().toString(); 


     if (input.matches("")) { 
      Toast.makeText(this, "Type the number!", Toast.LENGTH_SHORT).show(); 
      mTvBaseCurrency = null; 

      Log.i("String", ",asdkns,adkjsahd "); 
      break; 
     } 

     else { 


      String url = currencyUtils.createUrl(strBase, strTarget, input); 
      Log.i("String", "url= " + url); 

      currencyUtils.handlerJson(url); 

      String result = currencyUtils.getStringResult(); 
      Log.i("String ", "result" + result); 

      mTvTargetCurrency.setText("" + result); 
      break; 
     } 

问题开始apear,在第一个点击(没有输入数据),就OK了,但第二次时,单击它有错误:强制关闭应用程序。这是我的logcat http://s17.postimg.org/6uaprjm5b/Untitled.png 请帮我解决这个问题。

+0

“MainPageActivity”的第200行是什么?你不需要'if/else'中的'break' – codeMagic 2013-04-25 02:29:09

+0

String input = mTvBaseCurrency.getText()。toString(); – 2013-04-25 02:30:36

+0

这是获取我输入的字符串:) – 2013-04-25 02:31:11

问题是如果它通过matches(""),您将mTvBaseCurrency设置为null。只需删除以下行:

mTvBaseCurrency = null; 
+0

mTvBaseCurrency = null;当没有输入时返回空结果:(。 – 2013-04-25 02:45:31

+0

@ItDn我看到你会返回一个没有它的空结果。如果你进入if子句,你不会进入else子句,否则,你总是可以创建一个布尔值或其他东西来检查是否有结果。 – ddmps 2013-04-25 02:52:37