返回空结果?
问题描述:
我创建了一个将美元兑换成欧元的应用程序,要求在没有输入的情况下,不会显示结果。我这样的代码:返回空结果?
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 请帮我解决这个问题。
答
问题是如果它通过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
“MainPageActivity”的第200行是什么?你不需要'if/else'中的'break' – codeMagic 2013-04-25 02:29:09
String input = mTvBaseCurrency.getText()。toString(); – 2013-04-25 02:30:36
这是获取我输入的字符串:) – 2013-04-25 02:31:11