我是Java的初学者。问题可能很愚蠢,但请帮忙! 我已经创建了类型为TextView的tvlat和tvlong作为全局对象。
public TextView tvlat;
public TextView tvlong;
当我在以下代码中使用它们时:
public class MyLocationListener implements LocationListener
{
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "Current location : " +
"Lattitude = " + loc.getLatitude() +
"Longitude = " + loc.getLongitude();
Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
tvlat.setText(“”+loc.getLatitude());
tvlong.setText(“”+loc.getLongitude());
它表示TextView类型中的setText(char序列)不适用于代码的参数(double):
tvlat.setText(“”+loc.getLatitude());
tvlong.setText(“”+loc.getLongitude());
显然,它发生是因为tvlat和loc有两种不同的类型。任何人都可以建议我正确的方式来演绎上述声明或解决上述问题吗? 谢谢你的耐心等待!
答案 0 :(得分:3)
报价格式为奇数,与"
不同。你可以尝试:
tvlat.setText(String.valueOf (loc.getLatitude()));
tvlong.setText(String.valueOf(loc.getLongitude()));
答案 1 :(得分:1)
使用
tvlat.setText(Double.toString(loc.getLatitude()));
tvlong.setText(Double.toString(loc.getLongitude()));
获取Double的字符串表示