1

MainActivityクラスの外にMyLocationListenerを書くことはできますか?次の例として

MainActivity.class

public class MainActivity extends Activity{

    @Override
    ..onCreate(){
    .
    .
    loclis = new MyLocationListener(this); // Can i use it this way? 
    //if so, where is the best place to declare this line. 

    }
}

MyLocationListener.class

public class MyLocationListener implement LocationListener{
..
.//Constructor of MyLocationListener
}

助けてくれてありがとう

4

1 に答える 1

2

はい、ロケーションリスナーとしてスタンドアロンクラスを宣言できます。ただし、そうする場合は、場所が変更された場合にリスナーがアクティビティにコールバックできるようにするメカニズムが必要になる可能性があります(そうでない場合、アクティビティは場所が更新されたことを認識しません)。

public class MyLocationListener implements LocationListner{

   private SomeInterface owner;

   public MyLocationListener(SomeInterface owner){
       this.owner = owner;
} 

}

次に、アクティビティは次のようになります。

public class MainActivity extends Activity implements SomeInterface{

    private LocationListner locListener;
    public void onCreate(Bundle savedInstanceState){
        locListener = new MyLocationListener(this);
    }

}
于 2011-11-30T17:17:15.577 に答える