Java 获取对主活动外部字符串数组的引用

Java 获取对主活动外部字符串数组的引用,java,android,arrays,Java,Android,Arrays,我制作了一个字符串数组来保存一些短语,每当我调用类,主类的方法时,这些短语都应该显示出来 但是当我键入Resources res=getResources()时 它用红色标记getResources(),表示没有这样的方法 相反,如果我把它输入到主活动中,一切看起来都很好 如何在Main外部获取字符串数组的引用,以便在内部我的主类中创建方法 这是我的字符串数组: <string-array name="goodMorning"> <item>Good Mornin

我制作了一个
字符串数组
来保存一些短语,每当我调用
类的方法时,这些短语都应该显示出来

但是当我键入
Resources res=getResources()时

它用红色标记
getResources()
,表示没有这样的方法

相反,如果我把它输入到主活动中,一切看起来都很好

如何
Main
外部获取
字符串数组的
引用
,以便在
内部我的
类中创建
方法

这是我的字符串数组:

<string-array name="goodMorning">
    <item>Good Morning folks!</item>
      [...]
    <item>Be beep. Be beep. %s wake up!</item>
</string-array>

问题是当我调用
m.goodMorning()时它不识别Goodworning()方法,有什么想法吗?

你可以这样做

您的main活动

public class MainActivity extends Activity()
{
     @Override
     protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContextView(R.layout.yourlayout);
           /*
                 Your operations 
           */

     }
     private void createClass()
     {
          YourMaster yourMaster = new YourMaster(MainActivity.this);
          yourMaster.doSomething();
     }

}
你的主人。班级

public class YourMaster
{
     private Context context;
     YourMaster(Context _context)    //it's your contsructor methot
     {
          this.context = _context;
     }
     private void doSomething()
     {
          context.getResources().getStringArray(R.array.goodMorning);

          //your array is yours now.
     }

}

您需要将上下文传递给该方法,或者将
字符串[]
传递给该方法。“相反,如果我在主活动中键入它,一切看起来都很好”--这是因为
getResources()
Context
上的一个方法,
Activity
继承自
Context
。如果您需要代码方面的帮助,请显示主对象实例化的位置和方式,和主类代码。请添加更多代码以针对您的问题
public class MainActivity extends Activity()
{
     @Override
     protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContextView(R.layout.yourlayout);
           /*
                 Your operations 
           */

     }
     private void createClass()
     {
          YourMaster yourMaster = new YourMaster(MainActivity.this);
          yourMaster.doSomething();
     }

}
public class YourMaster
{
     private Context context;
     YourMaster(Context _context)    //it's your contsructor methot
     {
          this.context = _context;
     }
     private void doSomething()
     {
          context.getResources().getStringArray(R.array.goodMorning);

          //your array is yours now.
     }

}