2013-04-23 87 views
0

我试图实现一个特殊的textview,在那里我可以将内容翻译成不同的语言。我的textviews只包含R.String - Text,所以我有不同语言的等效文本(我不必访问翻译服务器)。通过OnLongClick翻译Textview - 我在哪里可以找到使用的Textview资源?

如何从textview中获取当前的String-Resource(R.string.XY)?那可能吗?否则,我该如何轻松解决这个问题?

一种方法是,设置文本programmaticaly,所以我可以在自己的方法要求一个资源ID,我必须存储。但我现在正在尝试在布局中设置文本以找到一个好的解决方案。

回答

0

您可以编写自己的功能是这样的:

textView.setText(R.string.XY); 
textView.setTag(new Integer(R.string.XY)); 

然后由得到您的字符串资源ID:

public Integer getStringResourceID(Textview textView){ 
    return ((Integer)textView.getTag()).intValue(); 
} 

UPDATE:

你可以试试这个让字符串资源在布局文件中设置的ID:

int resourceId = getApplicationContext().getResources().getIdentifier("textViewID", "string", getPackageName()); 
+0

是的,这也是我目前的想法。但我如何解决这个问题,通过布局文件设置文本? – Frame91 2013-04-23 08:13:45

+0

请检查更新的答案.. – mco 2013-04-23 11:41:53

相关问题