私はアンドロイドが苦手なので、これを聞いてみます:
onClick関数で使用されるいくつかの「データ」(GPS座標)をロケーションリスナーから文字列に転送したいと思います。といった:
case R.id.sendButton:
ParsePush push = new ParsePush();
String message = "Hey, My coordinates are - LONG:" + loc.getLongitude();;
push.setChannel("test1");
push.setMessage(message);
push.sendInBackground();
break;
はい、私はDO場所リスナーを持っています:
class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
mlocation.setText("");
Toast.makeText(
getBaseContext(),
"Location changed: Lat: " + loc.getLatitude() + " Lng: "
+ loc.getLongitude(), Toast.LENGTH_SHORT).show();
String longitude = "Longitude: " + loc.getLongitude();
Log.v("Long", longitude);
String latitude = "Latitude: " + loc.getLatitude();
Log.v("Lat", latitude);
等....
したがって、基本的には、経度を特定の変数(文字列)に設定し、その文字列をonClickボタンで使用できるようにしたいのです。
これどうやってするの?どんなリンクも素晴らしいでしょう。ありがとう!
グローバル変数(静的)変数を使用しないでください!!! 非常に悪い非常に悪い!非常に選択されたプログラミングの問題でのみ使用する必要があります。
このような問題にはgetパターンを使用してください!以下のサンプルコードは、get(およびset)パターンを使用する方法を示しています。
class MyLocationListener implements LocationListener {
private String longitude;
private String latitude;
public String getLongitude(){
return longitude;
}
public String getLatitude(){
return latitude;
}
@Override
public void onLocationChanged(Location loc) {
longitude = "Longitude: " + loc.getLongitude();
Log.v("Long", longitude);
atitude = "Latitude: " + loc.getLatitude();
Log.v("Lat", latitude);
}
}
リスナーのインスタンスをアクティビティ内に保持します
//Initialize your listener in the onCreate for example
MyLocationListener listener = ;
使用する経度または緯度を取得するには、次のようにします。
//In the onClick
if(listener.getLongitude() != null){
//Do something with the value.
} else {
//No longitude available yet.
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加