从一个 activity 发送双倍到另一个 Android Studio

Sending double from one activity to another Android Studio

你好, 我正在尝试使用此方法将数据从一个 activity 发送到另一个 activity: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");

但是当我把它放在按钮中时它无法解析 this.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");
        }
    });
}

我想自动或使用按钮接收数据。 我在移动计算方面很新,所以请不要烤我。

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");
    }
});
}