This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center
                            
                        
                    
                
                                6年前关闭。
            
                    
使用getString函数读取位于values文件夹中的字符串时遇到问题。我收到下一个错误:


  未为类型GamePlay定义方法getString(int)


这对我来说很复杂,因为我想在活动之外调用此函数,并且项目的结构某种程度上很奇怪。

我的项目是一个游戏,当您运行游戏时,您运行SampleGame

public class SampleGame extends AndroidGame


它是从AndroidGame扩展而成的,它具有以下声明:

public abstract class AndroidGame extends Activity implements Game


并且SampleGame执行具有以下声明的SplashLoadingScreen

public class SplashLoadingScreen extends Screen


SpalshLoadingScreen最终加载一些东西,然后调用GamePlay

public class GamePlay extends Screen


因此GamePlay远不是Activity ...

我该如何使用getString(int)函数?

最佳答案

对于getString(int),您只需要一个Context对象。您可以将其传递给您的GamePlay对象,例如,具有构造函数GamePlay(Context c),但是如果不需要Activity,请确保传递应用程序上下文getApplicationContext()。上下文,因为如果某处引用了该上下文,则GarbageCollector将无法收集您的Activity。

07-27 13:43