我遇到了一个小问题,我的代码可以运行并向我发送经度和纬度的输出。我只想用逗号和空格来分隔 TextView 中的值。我不需要行分隔符。
我得到的是:32.67543-55.986454
我想要的是:32.67543, -55.986454(逗号和空格)
有什么想法吗?
代码:
/**
* After completing background task Dismiss the progress dialog
* *
*/
protected void onPostExecute(JSONObject product) {
if (product != null) {
// product with this pid found
// Edit Text
lblDummyLocation = (TextView) findViewById(R.id.lblDummyLocation);
StringBuilder jsonStringBuilder = new StringBuilder(); //Create StringBuilder for concatenation of JSON results
// display profile data in EditText
try {
//txtMessage.setText(product.getString(TAG_FIRSTNAME)); //Don't set the text here
jsonStringBuilder.append(product.getString(TAG_LATITUDE)); //Concatenate each separate item
jsonStringBuilder.append(System.getProperty("line.separator"));
} catch (JSONException e) {
e.printStackTrace();
}
try {
//txtMessage.setText(product.getString(TAG_LASTNAME));
jsonStringBuilder.append(product.getString(TAG_LONGITUDE));
//jsonStringBuilder.append(System.getProperty("line.separator"));
} catch (JSONException e) {
e.printStackTrace();
}
lblDummyLocation.setText(jsonStringBuilder.toString());
}
// dismiss the dialog once got all details
pDialog.dismiss();
}
最佳答案
获取纬度后的 line.separator 会在其后换行,我认为你不需要那样。
要添加逗号,只需再执行一次追加即可。
失败时只需要一个 try/catch block 。
StringBuilder jsonStringBuilder = new StringBuilder();
// display profile data in EditText
try
{
jsonStringBuilder.append(product.getString(TAG_LATITUDE));
jsonStringBuilder.append(", ");
jsonStringBuilder.append(product.getString(TAG_LONGITUDE));
lblDummyLocation.setText(jsonStringBuilder.toString());
}
catch (JSONException e)
{
e.printStackTrace(); // use a logger for this ideally
lblDummyLocation.setText("Failed to get co-ordinates");
}
关于java - 用 StringBuilder 附加一个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29705973/