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.
}
}