在livewallpaper服务类中访问子方法

时间:2012-02-05 21:37:08

标签: java android live-wallpaper

此子类如何访问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(){}'

我尝试使用Abstract,但我不能,因为它会使应用程序崩溃,静态也不允许我对对象进行任何更改。

public static void updatePreferences

在首选项活动被销毁,测试并运行时调用。现在我只需要一种方法来了解在调用onDestroy时如何访问主活动feed的子方法。

奥利。

1 个答案:

答案 0 :(得分:1)

嗯,简短的回答是:你做不到。作为static或类级方法的一部分意味着您不属于该类的任何特定实例。如果没有为它提供一些获取实例的机制 - 可能通过将对实例的引用作为参数传递 - 你将不得不重新考虑你是如何做的。