我该如何解决这个错误.底部的所有三个字符串都会出现以下错误“对于Apps类型,方法getString(int)未定义”.请帮忙,我是这样的菜鸟.
package com.actionbarsherlock.sample.fragments; import android.content.Context; import android.content.res.Resources; public final class Apps { /** * Our data,part 1. */ public static final String[] TITLES = { "title1","title2","title3" }; /** * Our data,part 2. */ public static final String[] DIALOGUE = { getString(R.string.text1),getString(R.string.string2),getString(R.string.string3) }; }
解决方法
第一个getString不是静态方法,你在静态上下文中调用它,这是无法完成的.
其次,getString方法是Resources类的一部分,您的类不扩展Resources类,因此无法找到该方法.
我认为使用其构造函数将Resources类的实例解析为您的Apps类将是您的最佳选择.
像这样的东西:
public final class Apps { public Apps(Resources r){ DIALOGUE = new String[]{ r.getString(R.string.text1),r.getString(R.string.string2),r.getString(R.string.string3)}; } /** * Our data,part 2. */ public static String[] DIALOGUE; }