Xamarin:以编程方式设置TextView的文本

时间:2016-05-06 01:21:39

标签: android xamarin xamarin.android textview

这可能是我的错误或缺乏理解,但我现在很困惑。我正在尝试以编程方式在我的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的文本那样简单地获取/设置函数。我觉得我的问题有一个非常简单的解决方案,但我似乎无法找到它。

2 个答案:

答案 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";