FATAL EXCEPTION: main
Process: ---, PID: 26657
java.lang.NumberFormatException: Invalid int: "12"
이것은 예외입니다. 이유는 12가 정상적인 정수로 보이고 이전에는이 문제가 없었기 때문입니다. 그것은 단지 관련 활동에 손을 대지 않고서도 오늘 시작되었습니다. 따옴표가 문자열의 일부인지 확인해 보았지만 그렇지 않습니다. 왜 이것이 작동하지 않습니다.NumberFormatException : 왜 12가 잘못된 정수입니까?
AsyncTask<Uri, Void, Void> asyncTask = new AsyncTask<Uri, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
loginButtonLayout.setVisibility(View.GONE);
bar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
ans = ans.replace(" ", "");
ans = ans.replace("\"", "");
Log.d("test2", ans);
if (!(ans.equals("false")) || !(ans.equals(""))) {
ans = ans.replace("\"", "");
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
SharedPreferences.Editor editor = (getBaseContext().getSharedPreferences("USER_DATA", Context.MODE_PRIVATE)).edit();
editor.putBoolean("login", true);
int fahrer = Integer.parseInt(ans);
editor.putInt("fahrerId", fahrer);
editor.clear().apply();
((Alpacar) getApplication()).setLoginState(true);
((Alpacar) getApplication()).setFahrerId(Integer.parseInt(ans));
Toast.makeText(getBaseContext(), "Login successful", Toast.LENGTH_LONG).show();
finish();
startActivity(intent);
} else {
Toast.makeText(getBaseContext(), "Login failed", Toast.LENGTH_LONG).show();
}
}
@Override
protected Void doInBackground(Uri... uris) {
URL url;
url = null;
try {
url = new URL(uri.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
}
if (url == null) {
Log.e("MainActivity.java", "Error creating URL");
return null;
}
// new try
HttpURLConnection urlConnection = null;
InputStream inputStream = null;
try {
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setReadTimeout(10000 /* milliseconds */);
urlConnection.setConnectTimeout(15000 /* milliseconds */);
urlConnection.setRequestMethod("GET");
urlConnection.connect();
if (urlConnection.getResponseCode() == 200) {
inputStream = urlConnection.getInputStream();
ans = readFromStream(inputStream);
Log.d("test", ans);
} else {
Log.e("QueryUtils", "Error response code: " + urlConnection.getResponseCode());
}
} catch (ProtocolException e) {
Log.e("QueryUtils", "Problem with the protocol", e);
} catch (IOException e) {
Log.e("QueryUtils", "Problem establishing the connection", e);
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
return null;
}
};
문제가 onPostExecute에서 발생 ...
을 참조하십시오. 이 대화는 [채팅으로 이동되었습니다] (http://chat.stackoverflow.com/rooms/158965/discussion-on-question-by-adrian-breiding-numberformatexception-whyisis-12-an-in). – Andy