【发布时间】:2016-05-06 01:21:38
【问题描述】:
这可能是我的一个错误或缺乏理解,但我现在很困惑。我正在尝试以编程方式在我的 Xamarin Android 应用程序中设置 TextView。这是我的代码:
TextView currentCharacterName = FindViewById(Resource.Id.characterName); currentCharacterName.SetText("test");
不幸的是,这不起作用,因为我收到错误“参数 1:无法从 'string' 转换为 'int'”。在阅读了 SetText 的可用方法后,我注意到我试图调用的方法需要一个 ResId。我真的不明白为什么我需要 ResId 来修改 TextView 的文本。
我尝试在 Google 上搜索答案,发现 this answer 从 2014 年开始遇到与我完全相同的问题。解决方案是使用 Text() 方法来设置 TextView。不幸的是,当我尝试此解决方案时,我收到错误“不可调用的成员'TextView.Text'不能像方法一样使用”。当我尝试检查 Text 方法描述时,我看到“要添加的字符串 TextView {get/set}。”
这是否意味着还没有实现来设置 TextView 的文本?我真的不愿意相信这一点,因为像 Xamarin 这样的大框架甚至没有像设置 TextView 的文本这样简单的事情的 get/set 函数,这让我感到困惑。我觉得我的问题有一个非常简单的解决方案,但我似乎找不到它。
【问题讨论】:
-
一般 java 风格的 get* 和 set* 方法被 C# 风格的 Properties 替换。因此 getText() 和 setText() 将被一个名为 Text 的属性替换。
标签: android xamarin xamarin.android textview