好的,我已选择托管3种不同活动的主机活动。所以在activity1中,我有从GPS获得的纬度和经度值。所以问题是如何在activity1中动态地使用activity2中的值?如果我使用intent,那么传递的值只是来自activity1的最后一个值。我需要的是activity1仍在运行(在后台)并从OnLocationChanged方法中捕获值然后将值发送到活动2。
我在活动1中创建了一些方法,然后创建了另一个activity1实例,但它不起作用。
activty1 x = new activity1();
double lat = x.getLatitude();
答案 0 :(得分:1)
您可以创建一个传递额外内容的活动:
在第1幕中
Intent i = new Intent(Act1.this, Act2.class);
i.putExtra("someData", 100);
startActivityForResult(i,0);
第二幕
int x = getIntent().getExtras().getInt("someData");
x++;
Intent i = getIntent();
i.putExtra("someModifiedData", x);
setResult(ActivityInfo.DrawingABlank, i);
finish();
在Act1中
onActivityResult(int requestCode, int resultCode, Intent data){
int y = data.getExtras().getInt("someModifiedData");
}
答案 1 :(得分:0)
创建两个活动MainActivity,SecondActivity
MainActivity中的:
Intent intent=new Intent(MainActivity.this,SecondActivity.class).putExtra("message","your text");
startActivityForResult(intent,100);
/// under onActivityResult
onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == 100) {
String message=data.getStringExtra("message2");
}
}

SecondActivity:
String text = getIntent().getStringExtra("message");
Intent intent=new Intent();
intent.putExtra("message2","MESSAGE");
setResult(SecondActivity.RESULT_OK,intent);
finish();