【发布时间】:2017-01-17 19:12:57
【问题描述】:
我有一个关于 android 编程的问题。我有一个 MainActivity 类和实现 LocationListner 的类。我想从第二个类的 onLocationChanged 方法中更改一些 UI 元素,但我不知道应该如何完成这样的事情。
这是我的主要活动:
public class MainActivity extends AppCompatActivity {
private LocationGPS gps;
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
enableGPS();
initGuiElements();
}
private void enableGPS()
{
gps = new LocationGPS(this);
}
private void initGuiElements()
{
text = (TextView) findViewById(R.id.textTop);
text.setText("nothing yet");
}
}
这是我的位置类。
public class LocationGPS implements LocationListener {
private Activity mainActivity;
private LocationManager locationManager;
public LocationGPS(Activity activity)
{
this.mainActivity = activity;
locationManager = (LocationManager) activity.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(Location location) {
//here I want to set text for TextView element
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
【问题讨论】:
-
在你的activity中调用一个方法或者传递你的rootView