Я пытаюсь изучить развитие Android в настоящий момент. Теперь у меня проблема, я не могу найти решение.Android: NullPointerException при попытке доступа к TextView из другого класса
Приложение должно получить позицию gps и записать координаты в текстовом виде.
Но когда сигнал gps получает сигнал, я получаю исключение NullPointerException.
Следующий код из моего MainActitvity. GetLocation - мой класс, чтобы получить координаты gps.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
GetLocation getMyLocation = new GetLocation();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, getMyLocation);
}
И это часть моего класса GetLocation, где возникает ошибка. Встретилась ошибка в линии с findViewById
public void onLocationChanged(Location location) {
location.getLatitude();
location.getLongitude();
String myLocation = location.getLatitude() + " " + location.getLongitude();
viewToChange = (TextView) this.activity.findViewById(R.id.my_position);
viewToChange.setText("Position " + myLocation);
}
Я думаю, что я не могу получить доступ к раскладке из mainactivity в моем классе GetLocation ...:/
UPDATE:
public class GetLocation implements LocationListener {
TextView viewToChange;
private Activity activity;
private void onCreate(){
}
public void GetLocation(Activity _activity){
this.activity = _activity;
}
@Override
public void onLocationChanged(Location location) {
location.getLatitude();
location.getLongitude();
String myLocation = location.getLatitude() + " " + location.getLongitude();
viewToChange = (TextView) this.activity.findViewById(R.id.my_position);
viewToChange.setText("Position " + myLocation);
}
где ваш сайт GetLocation? –
, пожалуйста, отправьте свой стек Trace. –
Если 'GetLocation' является внутренним классом' MainActivity', попробуйте изменить 'this.activity' на' MainActivity.this' – WojciechKo