idr*_*id8 6 java eclipse android getstring android-activity
我该如何解决这个错误.底部的所有三个字符串都会出现以下错误"对于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)
};
}
Run Code Online (Sandbox Code Playgroud)
Moh*_*eem 30
传递一个实例 Context context
然后使用
context.getResources().getString(R.string.text1)
Run Code Online (Sandbox Code Playgroud)
这context是属于您当前的活动.
首先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 1.
*/
public static final String[] TITLES =
{
"title1",
"title2",
"title3"
};
/**
* Our data, part 2.
*/
public static String[] DIALOGUE;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22446 次 |
| 最近记录: |