2012-02-05 3 views
0

Как этот дочерний класс получает доступ к родительскому классу в службе livewallpaper.Доступ к дочернему методу в классе обслуживания живого дома

public class LiveWallpaperService extends WallpaperService 
{ 
public static final String SHARED_PREFS_NAME="t_settings"; 
public static final String strSharedPrefs="t_settings"; 

@Override 
public Engine onCreateEngine() 
{  
    return new LiveWallpaperWallpaperEngine(); 
} 

public static void updatePreferences() 
{ 
    //This is the class that needs to access the child method. 
    Log.w("yo", "resumed from main activity"); 
} 

    public class LiveWallpaperWallpaperEngine extends Engine implements SharedPreferences.OnSharedPreferenceChangeListener 
    { 
     //This is the child method I'm trying to access. 
     public void updatePreferencesB(){}' 

Я пробовал использовать тезисы, которые я не могу, так как он вызывает сбой приложения, а статические не позволяют мне вносить какие-либо изменения в объекты.

The

public static void updatePreferences 

Вызывается, когда Preferences активность разрушается, протестирована и работает. Теперь мне просто нужно выяснить, как получить доступ к дочернему методу основного фида активности при вызове onDestroy.

Olly.

+0

Вы, кажется, уже внедрили 'OnSharedPreferenceChangeListener'', и я не могу не задаться вопросом, что вам нужно для этого статического' 'updatePreferences''? – harism

ответ

1

Ну, короткий ответ: вы не можете. Часть того, что является static или методом уровня класса, означает, что вы не являетесь частью какого-либо конкретного экземпляра класса. Не предоставляя ему какой-либо механизм для получения экземпляра - возможно, передав ссылку на ваш экземпляр в качестве параметра - вам придется переосмыслить, как вы это делаете.

+0

Спасибо за подсказку! –

+0

С наилучшими пожеланиями, удачи. –