2011-01-03 14 views
0

私はモバイルの現在のGPS位置を取得しようとしています。私はエミュレータを使用しています。私はDDMSを使用してエミュレータにポジションを与えましたが、画面に何も表示されず、エラーも表示されません。このコードで何が間違っていますか?

public class getitright extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LocationManager lm=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE); 
    LocationListener ll=new LocationListener(){ 
     public void onLocationChanged(Location l) 
     { 
      go(l); 
     } 

     @Override 
     public void onProviderDisabled(String provider) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onProviderEnabled(String provider) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onStatusChanged(String provider, int status, 
       Bundle extras) { 
      // TODO Auto-generated method stub 

     } 

    }; 
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll); 
} 
    public void go(Location l){ 
    TextView tv=(TextView)findViewById(R.id.tv1); 
    tv.setText(""+l.getLatitude()); 
    } 


} 
+0

私はあなたのタイトルをよりわかりやすいものにすることをお勧めします。 「GPSとAndroidのエミュレータに問題があります」などあなたはより多くの答えを得るでしょう:) – biquillo

答えて

0

開始時にいくつかのログメッセージを入力します。

しかし、次に。 TextViewまたはLocationListenerをそのようなローカル変数に宣言するべきではありません。それらは両方ともメンバ変数でなければなりません。あなたのようなあなたのlocationlistenerを宣言することによって、あなたはそれへの参照を失います。これは問題になる可能性がありますが、そうでない場合は、参照がないためにマネージャからLocationListenerを削除できません。

あなたのテキストビューはまったく表示されていますか?ちょうどあなたが実際にメソッドをオーバーライドしている100%確認する。また

public void onLocationChanged(Location l) 
    { 
     go(l); 
    } 

@Overrideステートメントを追加念

を作るためにonCreateで静的なものにそれを設定してみてください。

関連する問題