Дополнения Intent возвращают ноль в моем приложении

Я хочу проанализировать информацию о местоположении из карт в моем классе Карт в другой Activity а также setText() за EditText но мои намерения дополнительные доходы null, Сначала я нажимаю кнопку во втором классе, а затем перехожу к картам на карте. Наконец, я хочу проанализировать местоположение с карт на второй вид деятельности.

Класс карт:

save.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        LatLng location= mMarker.getPosition();
        double longitude= location.longitude;
        double latitude=location.latitude;
        List<Address> addressList = new ArrayList<>();
        try{
            addressList = geocoder.getFromLocation(latitude , longitude , 1);
            String adresse = addressList.get(0).getAddressLine(0);
            String country = addressList.get(0).getCountryName();
            String fulladr = adresse +" , "+country;
            Toast.makeText(MapsActivity.this, fulladr, Toast.LENGTH_SHORT).show();
            Intent i = new Intent(MapsActivity.this,Partierendezvous.class);
            i.putExtra("result",fulladr.toString().trim());
            setResult(Partierendezvous.RESULT_OK,i);
            finish();

И второй класс:

Bundle extras = getIntent().getExtras();
if(extras != null) {
    String value = extras.getString("result");
    edlieurend.setText(value);
} else {
    Toast.makeText(getApplicationContext() , "Lieu not found " , Toast.LENGTH_SHORT).show();
}

1 ответ

Ваш вопрос может выиграть от некоторых деталей. Если вы хотите доставить результаты действия "Карты" во второе действие, вам необходимо использовать startActivityForResult начать работу с картами.

Второе занятие

private static final int PICK_LOCATION_REQUEST = 1;

private void pickLocation() {
    .
    .
    startActivityForResult(mapsIntent, PICK_LOCATION_REQUEST);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == PICK_LOCATION_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            // The user picked a location.
            // The Intent's data should contain the location you set before finishing the Maps Activity
            String value = data.getString("result");
            edlieurend.setText(value);
        } else {
            Toast.makeText(getApplicationContext() , "Lieu not found " , Toast.LENGTH_SHORT).show();
        }
    }
}
Другие вопросы по тегам