您好,我是 android 新手,我正在尝试将字符串转换为 Int,但它不起作用。我正在使用 Volley 向服务器发送 HTTP GET 请求并返回一个数字,但 android 无法转换为整数
我的代码
public void getRemainingTime() {
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://myurl.com/xxx";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
int myNum = 0;
try {
myNum = Integer.parseInt(response);
} catch(NumberFormatException nfe) {
nfe.printStackTrace();
}
reverseTimer(myNum);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textTimer.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
您从服务器响应中收到非数字字符。在转换之前添加这一行:
response = response.replaceAll("[^0-9]","");
方法:
@Override
public void onResponse(String response) {
int myNum = 0;
try {
response = response.replaceAll("[^0-9]","");
myNum = Integer.parseInt(response);
} catch(NumberFormatException nfe) {
nfe.printStackTrace();
}
reverseTimer(myNum);
}
**您可以通过多种方式过滤。这里再给一个,由@YCF_L建议
response = response.replaceAll("\\D","");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句