从一个活动发送双倍到另一个Android Studio

时间:2017-12-05 00:14:43

标签: java android android-studio-2.3

嗨, 我正在尝试使用此方法将数据从一个活动发送到另一个活动:how to retrieve a Double value from one activity to another? 然而,每当我打开我的应用程序时,它都会崩溃,因为我的代码在onCreate中:

double lat, longi;
Intent getLocation;
Bundle extras;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
getLocation = this.getIntent();
extras = getLocation.getExtras();
lat = extras.getDouble("lat");
longi = extras.getDouble("longi");

但当我把它放在一个按钮而不能解决这个问题时.getIntent();

public void getCoordinates(View view){
    Button coordinates = (Button) findViewById(R.id.getCoordinates);
    coordinates.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view){
            getLocation = this.getIntent();
            extras = getLocation.getExtras();
            lat = extras.getDouble("lat");
            longi = extras.getDouble("longi");
        }
    });
}

我想自动或使用按钮接收数据。 我是移动计算的新手,所以请不要烤我。

1 个答案:

答案 0 :(得分:0)

您的代码中

this的意思是View.OnClickListener()

我们需要YourActivity.this作为Context

你应该使用

public void getCoordinates(View view){
Button coordinates = (Button) findViewById(R.id.getCoordinates);
coordinates.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view){
        getLocation = YourActivity.this.getIntent();
        extras = getLocation.getExtras();
        lat = extras.getDouble("lat");
        longi = extras.getDouble("longi");
    }
});
}