您好我是Android的新手,我正在尝试将字符串转换为Int,但它不起作用.我正在使用Volley向服务器发送HTTP GET请求并返回一个数字,但android无法转换为Integer
我的代码
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);
}
Run Code Online (Sandbox Code Playgroud)
您从服务器响应中收到非数字字符.在转换之前添加以下行:
response = response.replaceAll("[^0-9]","");
Run Code Online (Sandbox Code Playgroud)
方法:
@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);
}
Run Code Online (Sandbox Code Playgroud)
**你可以过滤很多方法.这里再给出一个,由@YCF_L建议
response = response.replaceAll("\\D","");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |