gpt4 book ai didi

java - 将位置数据传递给 Android 中的另一个 Activity

转载 作者:太空狗 更新时间:2023-10-29 15:56:39 24 4
gpt4 key购买 nike

我正在从事 Android 应用程序开发,我被困在这一点上:

我有 2 个 Activity :第一个叫做 CurrentLoc,它让我得到当前位置,在得到位置后我点击一个按钮,把我带到 Activity 号 2,叫做 Sms。

我需要做的是,当我点击按钮时,我想将我在第一个 Activity 中收到的位置数据传递给第二个 Activity ...

这是我的第一个 Activity 的代码:

    public class Tester2Activity extends Activity { 
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startService(new Intent(Tester2Activity.this,SS.class));

LocationManager mlocManager = (LocationManager)getSystemService (Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);


Button button1 = (Button) findViewById(R.id.widget30);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

Intent hg = new Intent(Tester2Activity.this, Sms.class);
startActivity(hg);



}
});



public class MyLocationListener implements LocationListener
{

@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();

//This is what i want to pass to the other activity when i click on the button


}


@Override
public void onProviderDisabled(String provider)
{

}

@Override
public void onProviderEnabled(String provider)
{

}

@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}


}

}

最佳答案

使用 Intent extras:您可以在调用 startActivity 之前使用 Intent.putExtra 将位置纬度和经度复制到 Intent 中。

编辑:实际上,Location 是Parcelable,因此您可以使用putExtra 将其直接传递给Intent。 ,像这样:

@Override
public void onLocationChanged(Location loc)
{
passToActivity(log);
}

然后将passToActivity定义为

void passToActivity(Location loc)
{
Intent i = new Intent();

// configure the intent as appropriate

// add the location data
i.putExtra("LOCATION", loc);
startActivity(i);
}

然后你可以使用getParcelableExtra检索第二个 Activity 中的值。

关于java - 将位置数据传递给 Android 中的另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6839240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com