我正在尝试实现一个特殊的文本视图,我可以将内容翻译成不同的语言。我的 textviews 只包含 R.String - Text,所以我有不同语言的等效文本可用(我不必访问翻译服务器)。
如何从文本视图中获取当前的字符串资源(R.string.XY)?那可能吗?否则,我怎样才能轻松解决这个问题?
一种方法是,以编程方式设置文本,这样我就可以在自己的方法中请求一个资源 ID,我必须存储它。但是我现在正在尝试通过在布局中设置文本来找到一个好的解决方案。
我正在尝试实现一个特殊的文本视图,我可以将内容翻译成不同的语言。我的 textviews 只包含 R.String - Text,所以我有不同语言的等效文本可用(我不必访问翻译服务器)。
如何从文本视图中获取当前的字符串资源(R.string.XY)?那可能吗?否则,我怎样才能轻松解决这个问题?
一种方法是,以编程方式设置文本,这样我就可以在自己的方法中请求一个资源 ID,我必须存储它。但是我现在正在尝试通过在布局中设置文本来找到一个好的解决方案。
您可以像这样编写自己的函数:
textView.setText(R.string.XY);
textView.setTag(new Integer(R.string.XY));
然后通过以下方式获取您的字符串资源 ID:
public Integer getStringResourceID(Textview textView){
return ((Integer)textView.getTag()).intValue();
}
更新:
你可以试试这个来获取在布局文件中设置的字符串资源 id:
int resourceId = getApplicationContext().getResources().getIdentifier("textViewID", "string", getPackageName());