1
私は2つのアクティビティロケーションアクティビティとホームアクティビティを持ち、2つの異なるボタンを持っています.2つはロケーションアクティビティbtnGPSStartPointとbtnGPSEndPointを起動します。親アクティビティから自動的にマップアクティビティを呼び出し、データを自動的に保存する
btnGPSStartPointからロケーションアクティビティを起動したときにstartLatLong varibaleに、btnGPSEndPointからロケーションアクティビティを起動するときにEndLatLong変数にsendLocationを格納したいとします。
私はPlzを助けて...ホームアクティビティ出力
としてsendLocationと方法としての活性を使いたい要するに
:
btnGPSStartPoint.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
startActivityForResult((new Intent(getApplicationContext(), Location.class)),1);
StartLatLong = getLocation;
}
});
btnGPSEndPoint.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
startActivityForResult((new Intent(getApplicationContext(), Location.class)),1);
EndLatLong = getLocation;
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
LatLng result= data.getParcelableExtra("sendLocation");
getLocation = result;
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
}
場所アクティビティ:
FloatingActionButton SaveLocation = (FloatingActionButton) findViewById(R.id.location);
SaveLocation.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View view) {
if (MarkerPosition == null) {
Snackbar.make(view, "Please click on location first", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
else {
AlertDialog.Builder builder = new AlertDialog.Builder(Location.this);
builder.setCancelable(true);
builder.setTitle("Location");
builder.setMessage("Latitude : " + MarkerPosition.latitude + "\n" + "Longitude : " + MarkerPosition.longitude);
builder.setPositiveButton("Confirm",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent returnIntent = new Intent();
returnIntent.putExtra("sendLocation",MarkerPosition);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
}
});