在 Toast 中使用字符串资源
我的代码是:
public static void ToastMemoryShort (Context context) {
CharSequence text = getString(R.string.toast_memoryshort); //error here
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
return;
}
但我在 Eclipse 中收到“无法从类型 Context 对非静态方法 getString(int) 进行静态引用”。我正在尝试准备本地化我的应用程序(将所有硬编码字符串放入资源中),所以我有:
getString(R.string.toast_memoryshort)
我以前有一个硬编码字符串,这很好。
我不确定这里发生了什么(Java noob)。有人可以启发我吗?
非常感
谢巴兹
My code is:
public static void ToastMemoryShort (Context context) {
CharSequence text = getString(R.string.toast_memoryshort); //error here
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
return;
}
but I'm getting "Cannot make a static reference to the non-static method getString(int) from the type Context" in Eclipse. I'm trying to get ready for localising my app (getting all the hard coded strings into resources), so where I have:
getString(R.string.toast_memoryshort)
I previously had a hard coded string which was fine.
I'm not sure what's going on here (Java noob). Can anyone enlighten me please?
Many thanks
Baz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更改为
Change to
只需使用这个即可:
来自 http://developer.android.com/reference/android/widget/Toast。 html
Just use this instead:
From http://developer.android.com/reference/android/widget/Toast.html
您可以使您的 toast 更加通用,如下所示:
然后只需在需要时调用,如下所示:
或通过引用 strings.xml,如下所示:
You could make your toast more generic like this:
Then just call when you need like this:
or by referring to strings.xml like this:
使用以下代码获得所需的输出:
将 exit_survey_toast 替换为您的字符串值。
Use the below code to get the desired output:
replace exit_survey_toast with your string value.
您应该更改
为:
getString
函数在 Context#getString(int)You should change
for:
The
getString
function is implemented in Context#getString(int)