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

...と、私は、この文で「locationsetting」のURI値を設定:

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

(私は^ _付加緯度と経度から位置設定用のURIを設定します^、私はこれが愚かだと知っています)

私の質問は、 "mainActivity"に "LatLon"値を渡してURIを照合する方法ですか?私は意図が値を渡すことを知っているが、私はそれが悪い解決策の原因(多分)別の活動を開くだろうと思う。

私を助けてください:((インテントを使用(

+1

** adapter **から** ac tivity **クラス? –

+0

は 'static'変数を使います。 – FrozenFire

+0

mainActivityクラスでstartActivityForResultを使ってみましたか? – 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次のコードを使用して、データをインテントから取得することができます

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

はい、syncAdapterの値をmainActivityに渡したいと思っていますが、意図的に "startActivity"に "red"が表示されます。どうすればいいですか?( – cahyowhy

+0

コンテキスト参照を取得してstartActivityを試す必要があります。次のコードを使用してコンテキスト参照getApplicationContext()。startActivity(intent)を取得できます。これで問題が解決しない場合は、コードを配置して修正できます。 –

関連する問題