Ancora relativamente nuovo a questo sto avendo problemi nel trovare una vista in una classe di non attività MyLocation che sto usando nella mia classe di attività MainActivity. Sto usando MyLocation per ottenere longitudine e latitudine. Voglio evidenziare una vista testuale quando è stato utilizzato il GPS o la rete. Per fare ciò ho bisogno di trovare le visuali testuali nella classe di non attività MyLocation.findViewById nella classe non di attività
Ecco come sto chiamando in MainActivity:
public class MainActivity extends ActionBarActivity implements LocationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyLocation myLocation = new MyLocation();
myLocation.getLocation(this, locationResult);
}
Ed ecco quello che ho cercato in MyLocation per trovare le textviews:
public class MyLocation {
LocationManager lm;
LocationResult locationResult;
private Context context;
TextView tvnetwork, tvgps;
private int defaultTextColor;
LocationListener locationListenerNetwork = new LocationListener() {
public void onLocationChanged(Location location) {
locationResult.gotLocation(location);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.main, null);
tvnetwork = (TextView) v.findViewById(R.id.tvnetwork);
tvgps = (TextView) v.findViewById(R.id.tvgps);
defaultTextColor = tvgps.getTextColors().getDefaultColor();
tvnetwork.setTextColor(context.getResources().getColor(
R.color.green));
tvgps.setTextColor(defaultTextColor);
lm.removeUpdates(this);
lm.removeUpdates(locationListenerGps);
}
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
};
Ma il punto di vista non si trovano. Ho già un NPE @.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
. Che cosa sto facendo di sbagliato?
Dove è stato definito il metodo 'getLocation'? –
molto semplice ... quando si chiama la classe MyLocation..è sufficiente aggiungere contesto come parametro e quindi è possibile ottenere tutte le cose da lì. – GvSharma