我正在尝试在用户位置更改时设置textview文本。 GPS部分的所有代码都有效。我一直在使用Log();
进行测试现在不是使用Log,而是希望在主布局上显示相同的信息,但是LocationChanged事件在不同的类中,所以我无法访问布局。
public class mylocationlistener implements LocationListener
{
@Override
public void onLocationChanged(Location location)
{
if (location != null)
{
Log.v("kjdv", location.getLatitude() + ", " + location.getLongitude());
//I would like to set a textview here, but don't have access to the object
}
}
此类在此处创建:
public class gps extends ListActivity implements View.OnClickListener
{
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
SetupLocationListener();
}
public void SetupLocationListener()
{
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener(this);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
}
那么,如何在myLocationListener类中设置onLocationChanged事件中的文本?
谢谢!
答案 0 :(得分:1)
我们有两个选择。
一个就像MisterSquonk所说的那样。将Location侦听器保持为内部类,另一个将textView的对象传递给mylocationlistener的构造函数。别忘了在第二步中处理null子句。