我正在尝试使用内置本地化的应用程序,但我想要一种方法,我可以在文本中创建一个Web链接,URL在其他地方定义(为了便于维护).
所以,我在res / values / strings.xml中有我的链接:
...
http://some.link.com
http://some.link2.com
和我在res / values-en-rGB / strings.xml中的本地化文本
...
Sample text
More text and link1
More text and link2.
我没有对这一点进行过测试,但从localization section of developer.android.com开始,它表示这种减少内容重复的方法应该可行,但我不知道我应该把意大利文放在哪个文件夹中.它会在’res / values-it-rIT / strings.xml’中吗?让我们假设我也有其他各种语言.
我正在寻找一种方法来获取基本本地化的’sampleText’并插入我的html链接,并在单击时让它们工作.到目前为止,我尝试了两种方法:
1,
在’sampleText'(%s)中添加一些格式:
Sample text
More text and link1
More text and link2.
然后像这样处理文本:
TextView tv = (TextView) findViewById(R.id.textHolder);
tv.setText(getResources().getString(R.string.sampleText, getResources().getString(R.string.link1), getResources().getString(R.string.link2)));
但是,当我点击链接时,这不起作用,即使链接文本正在放入正确的位置.
2,我尝试使用Linkify但正则表达式路线可能很难,因为我正在寻找支持非拉丁语言.我试图在链接文本周围放置一个自定义的xml标记,然后执行以下操作:
Pattern wordMatcher = Pattern.compile(".*");
String viewURL = "content://" + getResources().getString(R.string.someLink);
Linkify.addLinks(tv, wordMatcher , viewURL );
但这也不起作用.
那么,我想知道是否有一种方法可以动态地将多个URL添加到同一文本的不同部分,这些部分将链接到Web内容?