我有一个Activiy,显示两个地理位置之间的路线。这需要两个地理位置。
这种行为看起来像
final double fromLat = location.getLatitude(); // user location
final double fromLon = location.getLongitude();
final double toLat=this.getIntent().getDoubleExtra("tolat", 0.0);
final double toLon=this.getIntent().getDoubleExtra("tolng",0.0);
Log.v(tag, "flat"+fromLat+"flon"+fromLon+"toLat"+toLat+"tolon"+toLon);
new Thread() {
@Override
public void run() {
String url = RoadProvider.getUrl(fromLat, fromLon, toLat, toLon);
InputStream is = getConnection(url);
mRoad = RoadProvider.getRoute(is);
mHandler.sendEmptyMessage(0);
}
}.start();
}
还有两个活动,首先它加载了neaby地方的列表,然后我们可以搜索任何城市,它还会显示该城市附近的地方列表。
如果用户点击我想要显示路线的任何活动列表中的项目。这意味着我想从这两个活动传递lat和lng(geopoints)。
在上面的代码中,toLat和toLng将保持相同,但fromLat和fromLng将根据ListActivity用户单击的内容进行更改。
如何从citysearch活动中传递值,以便fromLat和fromLng将根据特定活动进行更改。
希望我的问题很明确。
先谢谢。
答案 0 :(得分:3)
您可以使用putextra intent意图传递值。 并使用getExtra方法获取值。
// Put values with intent.
Intent intent_name = new Intent(nearby_place.this,geopoint.class);
intent_name.putExtra("longitude", "72");
intent_name.putExtra("latitude", "22");
startActivity(intent_name);
// Put values with intent.
Intent intent_name = new Intent(city_search.this,geopoint.class);
intent_name.putExtra("longitude", "72");
intent_name.putExtra("latitude", "22");
startActivity(intent_name);
//Get values which comes with intent
// You can get the values of longitude & latitude in geopoint class as below method
int longitude = getIntent().getExtras().getInt("longitude");
int latitude = getIntent().getExtras().getInt("latitude");