嗨, 我正在尝试使用此方法将数据从一个活动发送到另一个活动: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");
}
});
}
我想自动或使用按钮接收数据。 我是移动计算的新手,所以请不要烤我。
答案 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");
}
});
}