java – 对于Apps类型,方法getString(int)未定义

我该如何解决这个错误.底部的所有三个字符串都会出现以下错误“对于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;
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...