-1

Я создал WeatherSyncAdapterClass, создаю метод и получаю значение широты и долготы от GPS.Пропускающая стоимость другая деятельность

public void getGPS(){ 
    Context context = WeatherSyncAdapter.super.getContext(); 
    gps = new GpsTrack(context); 
    if (gps.canGetLocation()) { 
     while (lat == 0.0 && lon == 0.0) { 
      setLat(gps.getLatitude()); 
      setLon(gps.getLongitude()); 
      latitude = Double.toString(lat); 
      longitude = Double.toString(lon); 
     } 
    } 
    else { 
     gps.showSettingsAlert(); 
    } 
} 

... и затем я установил значение URI для «locationsetting» с этим утверждением:

public void setLatLon(double a, double b) { 
    //Double.toString(weather.getLatitude()+weather.getLongitude()) 
    LatLon = Double.toString(a+b); 
} 

(я просто установить Ури для настройки местоположения от капельной широты и долготы^_ ^, Я знаю, что это глупо)

Мой вопрос в том, как передать значение «LatLon» в «mainActivity» для соответствия URI? Я знаю, что намерение передаст значение, но я думаю, что это будет плохое решение, потому что (возможно) откроет другое действие.

пожалуйста, помогите мне: (((

+1

вы хотите передать ваше значение от ** адаптера ** до ** переменного тока класс **? –

+0

используйте переменную 'static'. – FrozenFire

+0

Вы пробовали использовать startActivityForResult в классе mainActivity? – rookieDeveloper

ответ

3
Intent intent = new Intent(current.this, mainActivity.class); 
intent.putExtra("Lat",Double.toString(a)); 
intent.putExtra("Lon",Double.toString(b)); 
startActivity(intent); 

Используя намерения вы можете передать значения в другие виды деятельности intent.putExtra метод/функция будет посылать данные в виде ключа, пары значений

В.. MainActivity.class вы можете использовать следующий код, чтобы retrive данные от намерения

Intent intent = getIntent(); 
String latitude = intent.getStringExtra("Lat"); 
String longitude = intent.getStringExtra("Lon"); 
+0

да, я хочу передать значение из syncAdapter в mainActivity, Intent его не работает, потому что я вижу «красный» на «startActivity», что мне делать :( – cahyowhy

+0

вам нужно получить справочную информацию по контексту, а затем попробовать startActivity. может использовать следующий код, чтобы получить контекстную ссылку getApplicationContext(). startActivity (намерение). Если это не поможет, поместите код, чтобы я мог его исправить. –

Смежные вопросы