我在这里阅读了很多相关/相似的问题!但是没有任何帮助,这就是为什么决定要问
如您所见,在错误中,输入为“” 1“(为确保将其设置为EditText值,您可以在屏幕截图中看到它),并且抛出错误!我尝试了所有可能的方式进行比较,例如
if ( responseText.trim().equals( "1" ) ) //(NOT WORKING, RETURNS FALSE)
if ( responseText.trim().startsWith( "1" ) ) //(NOT WORKING, RETURNS FALSE)
if ( responseText.trim() == "1" ) //(NOT WORKING, RETURNS FALSE)
并且responseText为1然后我尝试将字符串转换为整数,如第一个屏幕截图所示这是我的代码
private void sendOtpMessage(FancyButton btnSendOtp, FancyButton btnVeriOtp, EditText inputOtp, JSONObject item) {
String CtgryCd;
try {
CtgryCd = item.getString("row_id");
} catch (JSONException e) {
mActivity.showMessage(getString(R.string.txt_error), e.toString());
return;
}
btnSendOtp.setEnabled(false);
btnVeriOtp.setEnabled(false);
inputOtp.setEnabled(false);
RequestParams requestParams = new RequestParams();
requestParams.put("Action", "SendConfirmationOTP");
requestParams.put("CtgryCd", CtgryCd);
mActivity.showProgress();
mConnection.connectTo(
"scripts/ConfirmationFiling.php",
requestParams,
new ResponseHandler() {
@Override
public void onSuccess(String responseText) {
mActivity.hideProgress();
int response = Integer.parseInt(responseText.trim());
if (response == 1) {
btnSendOtp.setVisibility(View.GONE);
btnVeriOtp.setEnabled(true);
inputOtp.setEnabled(true);
Toast.makeText(mActivity, getString(R.string.msg_otp_sent), Toast.LENGTH_SHORT).show();
}
else {
onError(getString(R.string.error_otp_sent));
}
}
@Override
public void onSuccess(byte[] responseBytes) {
}
@Override
public void onError(String message) {
btnSendOtp.setEnabled(true);
mActivity.hideProgress();
mActivity.showMessage(getString(R.string.txt_error), message);
}
}
);
}
int response = Integer.parseInt(responseText.trim());
//should be
int response = Integer.ValueOf(responseText.trim());
See this for more解释。
responseText
似乎是null
,因此是NullPointerException
。考虑调试您的应用程序并发布stacktrace,因为仅凭代码几乎不可能理解您的问题。