从不同的活动android获取价值

时间:2013-11-04 07:21:35

标签: android android-intent gps android-tabhost

好的,我已选择托管3种不同活动的主机活动。所以在activity1中,我有从GPS获得的纬度和经度值。所以问题是如何在activity1中动态地使用activity2中的值?如果我使用intent,那么传递的值只是来自activity1的最后一个值。我需要的是activity1仍在运行(在后台)并从OnLocationChanged方法中捕获值然后将值发送到活动2。

我在活动1中创建了一些方法,然后创建了另一个activity1实例,但它不起作用。

activty1 x = new activity1();
double lat = x.getLatitude();

2 个答案:

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