【发布时间】:2016-06-27 16:32:04
【问题描述】:
用户注册后,输入字段应自动填写当前存储在用户首选项中的电子邮件地址。我有这个工作正常。
我的问题是将此变量输出到主页的输入字段中。如果有人以前管理过,这里的任何帮助都会很棒。每次我尝试获取输入字段的文本时,它都会返回一个空引用。
GameObject inputFieldGo = GameObject.Find("email");
InputField inputFieldCo = inputFieldGo.GetComponent<InputField>();
inputFieldCo.text = "hello";
NullReferenceException:对象引用未设置为对象的实例 firstRun.Start()(在 Assets/Scripts/init/firstRun.cs:31)
【问题讨论】:
-
会是
inputFieldCo.Text而不是inputFieldCo.text当您使用调试器单步执行代码时实际会发生什么......? -
这个错误基本上表明你的
GameObject.Find()方法返回了一个null并且找不到你指定的元素为per the documentation。您可以考虑发布代码以了解如何定义它。您是否尝试过改用GameObject.FindWithTag()? -
@methodman 感谢您的回复。除 .text 部分外,一切正常。
-
@RionWilliams 嗨,它发现游戏对象很好。我让它在找到它时进行调试以输出。当它查找文本时,它返回 Null。当我尝试分配文本时,它显示空引用。
-
如this similar question中提到的,顶部有
using UnityEngine.UI;的引用吗?调用GetComponent<InputField>()方法后,您的inputFieldCo是什么样的?