这可能是我的错误或缺乏理解,但我现在很困惑。我正在尝试以编程方式在我的Xamarin Android应用程序中设置TextView。这是我的代码:
TextView currentCharacterName = FindViewById(Resource.Id.characterName); currentCharacterName.SetText( “测试”);
不幸的是,这不起作用,因为我收到错误“Argument 1:无法从'string'转换为'int'”。在阅读了SetText的可用方法之后,我注意到我试图调用的方法需要一个ResId。我真的不明白为什么我需要一个ResId来修改TextView的文本。
我尝试在Google上搜索答案,我从2014年开始this answer遇到了与我完全相同的问题。解决方案是使用Text()方法来设置TextView。不幸的是,当我尝试这个解决方案时,我得到错误“非可调用成员'TextView.Text'不能像方法一样使用”。当我尝试检查Text方法描述时,我看到“string TextView {get / set}要添加。”
这是否意味着还没有设置TextView文本的实现?我真的不愿意相信这一点,因为它让我感到困惑的是,像Xamarin这样的大型框架甚至不能像设置TextView的文本那样简单地获取/设置函数。我觉得我的问题有一个非常简单的解决方案,但我似乎无法找到它。
答案 0 :(得分:5)
TextView.SetText(X)
允许您从资源ID:
currentCharacterName.SetText(Resources.Id.MyString);
您正在寻找Text
属性:
currentCharacterName.Text = "test";
Xamarin:TextView class
Android.Widget.TextView.Text属性
语法:
public String Text {get;组; }
答案 1 :(得分:2)
测试此代码:
TextView currentCharacterName = FindViewById<TextView>(Resource.Id.characterName);
currentCharacterName.Text = "Your Text";