我正在使用recycler view
,并且在回收器视图中插入String
类型的文本时,我正在使用所有的硬编码字符串,我认为在将其翻译成其他语言时可能会出现问题。 / p>
我试图删除字符串。例如,我删除了“关于我们” ,并保留了R.string.about_us
。但是,它显示了错误。
wordList.add(new Word(R.drawable.ic_launcher_background, R.string.about_us));
wordList.add(new Word(R.drawable.ic_launcher_background, "Our Facebook Page"));
wordList.add(new Word(R.drawable.ic_launcher_background, "About Us"));
答案 0 :(得分:2)
由于需要string.xml
,因此无法直接从getResource()
访问字符串。这是例子
getResources().getString(R.string.about_us);
您的代码应类似于
wordList.add(new Word(R.drawable.ic_launcher_background, getActivity().getResources().getString(R.string.about_us)));
wordList.add(new Word(R.drawable.ic_launcher_background, "Our Facebook Page"));
wordList.add(new Word(R.drawable.ic_launcher_background, "About Us"));
答案 1 :(得分:1)
这行得通!
wordList.add(new Word(R.drawable.ic_launcher_background, getString(R.string.about_us)));
wordList.add(new Word(R.drawable.ic_launcher_background, getString(R.string.meme_bazar)));
答案 2 :(得分:0)
您还没有说出自己遇到的错误,但是需要通过调用getString
来获取字符串,如下所示:
wordList.add(new Word(R.drawable.ic_launcher_background, context.getString(R.string.about_us)));
wordList.add(new Word(R.drawable.ic_launcher_background, "Our Facebook Page"));
答案 3 :(得分:0)
您需要更频繁地使用“值”对话框,在您的情况下,请使用String
字段。您可以在此处同时输入ID和值的“新资源”。然后安装可帮助您进行翻译的ui。
答案 4 :(得分:0)
用于活动用途,
wordList.add(new Word(getResources().getDrawable(R.drawable.ic_launcher_background), getResource().getString(R.string.about_us)));
对于片段或适配器使用,
wordList.add(new Word(context.getResources().getDrawable(R.drawable.ic_launcher_background), context.getResource().getString(R.string.about_us)));
答案 5 :(得分:0)
您需要像下面那样修改代码:
wordList.add(new Word(R.drawable.ic_launcher_background,
getActivity().getString(R.string.about_us));
wordList.add(new Word(R.drawable.ic_launcher_background,
getActivity().getString(R.string.our_facebook_page));
//our_facebook_page = "Our Facebook Page"
wordList.add(new Word(R.drawable.ic_launcher_background,
getActivity().getString(R.string.about_us));
//about_us ="About Us"
您还应该像支票:
getActivity() != null
在执行上述代码之前,以防止发生著名的 NullPointerException。