I have a classic example of Preferences where I want to call MainActivity
method to hide ImageView
.
But it does not go to debug even.
So how to call method of MainActivity
properly?
public class SettingsActivity extends AppCompatPreferenceActivity
...
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
try {
if (key.equals("isGPS_Switch")) {
Boolean isGPSSwitch = sharedPreferences.getBoolean(key, false);
if (isGPSSwitch) {
// START SERVICE
getActivity().startService(new Intent(getActivity(), gpsService.class));
((MainActivity)getActivity()).MyLocationMapDisplay(true);
} else {
// STOP SERVICE
getActivity().stopService(new Intent(getActivity(), gpsService.class));
((MainActivity)getActivity()).MyLocationMapDisplay(false);
}
}
} catch (Exception ex) {
Log.e("Preferences", ex.getMessage());
}
}
And MAinActivity class
public class MainActivity extends AppCompatActivity
...
private ImageView imageDisplayGPS;
public void MyLocationMapDisplay(boolean isDisplay)
{
if(isDisplay)
{
imageDisplayGPS.setVisibility(View.VISIBLE);
}
else
{
imageDisplayGPS.setVisibility(View.GONE);
}
}