首先很抱歉在过去的几周内问了这么多问题,我是android studio的新手,并且很难自己弄清楚很多核心概念。 关于这个问题,我有一个项目设置,所以无论你输入什么" 1.2,-1.2"你可以找到两个地方之间的距离,你的答案会显示为吐司。但是,我希望纬度和长度是变量。
Button button1=(Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Double distance = 1.0;
int val = 1;
Toast.makeText(getApplicationContext(), "You are " + String.valueOf(distance
(1.2, -1.2, 1.3, -2.4, "K")) + "kilometers away from the flag", Toast.LENGTH_LONG).show(); }
});
我有以下两种方法,我希望上面的参数值LatLng和currentLatitude以及currentLongitude加倍。
private void setUpMap() {
mMap.addMarker(new MarkerOptions().position(new LatLng(53.3835,6.5996)).title("Marker"));
}
和
private void handleNewLocation(Location location) {
Log.d(TAG, location.toString());
double currentLatitude = location.getLatitude();
double currentLongitude = location.getLongitude();
LatLng latLng = new LatLng(currentLatitude, currentLongitude);
//mMap.addMarker(new MarkerOptions().position(new LatLng(currentLatitude, currentLongitude)).title("Current Location"));
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title("I am here!");
mMap.addMarker(options);
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
}
非常感谢有关如何做到这一点的任何见解。根据我所读的内容,我知道我需要将LatLng变量拆分为字符串,但到目前为止我能想到的只有
答案 0 :(得分:2)
如果这两个方法属于同一个类,那么只需要创建该类的那两个变量属性,否则你需要将它们传递给相应的类。我将以比您的代码更简单的示例进行演示:
public class MyClass(){
private int lat;
private int longt;
//constructors ,setters and getters
public void method1(){
//affecting those attributes with values
lat = 1;
longt = 2;
}
public void method2(){
//simply access the attributes
System.out.println("lat "+lat+" longt "+longt);
}
}
阅读评论,我想我需要进一步向你解释,当一个变量在一个方法中声明时,它是该方法的本地变量,因此它将被"销毁" (垃圾收集或w.e)当该方法完成它的工作。但是当一个变量在一个方法之外声明时,就像类的属性一样,你仍然可以在需要的时候引用它,直到该类的实例被"销毁"。