我创建了一个将美元兑换成欧元的应用程序,要求在没有输入时,它不会产生结果。我的代码是这样的:
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,在第一次点击(没有输入数据),它没关系,但是当第二次点击它有错误:强制关闭应用程序。这是我的logcat http://s17.postimg.org/6uaprjm5b/Untitled.png 请帮我解决这个问题。
答案 0 :(得分:2)
问题是如果mTvBaseCurrency
通过matches("")
,则将mTvBaseCurrency = null;
设置为null。只需删除以下行:
{{1}}