R.string.value 帮助android通知
Posted
技术标签:
【中文标题】R.string.value 帮助android通知【英文标题】:R.string.value Help android notification 【发布时间】:2011-03-22 18:02:37 【问题描述】:有什么关系
CharSequence contentTitle = R.string.value;
错误无法从 int 转换为 CharSequence。有没有办法解决这个问题或者我错过了什么? 我试过了
String s = R.string.value + "";
CharSequence contentTitle = s;
它返回整数值。 有什么帮助吗?
【问题讨论】:
【参考方案1】:你也可以使用String s = getResources().getString(R.string.value);
。
【讨论】:
如何在viewPagerAdapter等java类(非activity)中获取访问权限。我没有'getContext'?【参考方案2】:R.string.value 返回资源“值”的参考 ID 号。如果您查看您的 R 类,它将显示为如下所示:
public static final class string
public static final int value=0x7f040007;
我在引用 getString() 方法时遇到了问题。 Eclipse 向我吐口水的确切错误是:
DatabaseHelper.MainDatabaseHelper 类型的方法 getString(int) 未定义
阅读了一段时间后,我发现您必须引用应用程序的上下文才能访问 getString() 方法。我试图在内容提供程序中创建一个私有 SQLDatabase 帮助程序类,但是,这不允许我引用 getString() 方法。到目前为止,我的解决方案是这样做:
private class MainDatabaseHelper extends SQLiteOpenHelper
MainDatabaseHelper(Context context)
super(context, context.getString(R.string.createRoutesTable), null, 1);
public void onCreate(SQLiteDatabase db)
db.execSQL((getContext()).getString(R.string.createRoutesTable));
注意这两个上下文引用:
上下文.getString()
(getContext()).getString()
我不知道这是否是最佳的长期解决方案,但目前看来可行。希望这会有所帮助。
【讨论】:
【参考方案3】:要检索字符串,需要使用getString(),
但 getString() 是来自 Context 类的方法。 如果你想在你的 Activity 类之外使用这个方法,你应该先链接到你的上下文,然后调用:
String s = mContext.getString(R.string.somestring)
【讨论】:
【参考方案4】:R.string.value
是对 R 类中静态字段的调用,它是由 Eclipse 自动生成的,它对您的所有资源进行了一种汇总。要检索字符串,您需要使用:
CharSequence contentTitle = getString(R.string.value);
如果您打开 R 类,您会看到它只包含引用您项目的已编译资源的数字。
【讨论】:
@Sephy 我遇到了 getString() 的问题,我不断收到“方法 getString(int) 未定义...”我做错了什么? 用这种方法能得到什么? @Sephy 我只是想检索存储在 strings.xml 中的实际值 也许这有助于解决他的问题? => context.getString(R.string.value) 你也可以试试 getResources().getString(R.string.value)以上是关于R.string.value 帮助android通知的主要内容,如果未能解决你的问题,请参考以下文章