将两个相同的值传递给一个活动

时间:2011-11-23 05:52:15

标签: java android android-activity

我有一个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将根据特定活动进行更改。

希望我的问题很明确。

先谢谢。

1 个答案:

答案 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");