2011-11-30 59 views
1

我可以在MainActivity类外写MyLocationListener吗?如下面的例子我们可以在xxxActivity类之外写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 
} 

感谢您为帮助

回答

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

} 
+0

太谢谢你了〜 –

+0

顺便说一下,如果我想setTextvalue这是R.layout.main在MainActivity。我是否需要实现这样的构造函数:public MyLocationListener(Activity activity,SomeInterface owner){this.owner = owner; –

相关问题