首页 > 解决方案 > 我的输入文本没有保存,而是在 Unity 中恢复到原始值

问题描述

我正在尝试从输入字段中读取输入并单击按钮来存储该文本,我还想重置输入字段以进行下一个输入。但是,随着输入字段的恢复,保存的数据会再次随着输入字段而更改!谁能帮我解决这个问题?
公共 InputField 输入;公共按钮确认;

// Update is called once per frame
void Update()
{
    confirm.onClick.AddListener(readchartLabelInputOnClick);
    Debug.Log(PlayerPrefs.GetString("chartLabel"));
}
public void readchartLabelInputOnClick()
{
    PlayerPrefs.SetString("chartLabel", input.text);
    input.text = "Enter Text...";
}

这是我的调试屏幕截图:在此处输入图像描述 看起来 addListener 多次调用该函数。我应该如何改变它?

标签: c#unity3d

解决方案


我提出了一个替代解决方案。

我会首先在场景中的按钮(in OnClick())中放置一个方法以避免调用Update(),当然该方法也将在脚本中,在脚本中,当启动时,它会获取文本input.text然后删除它input.text = "" 如果你放了placeholder一个在inputfield场景中,您甚至不需要从脚本中输入“输入文本...”,而且您不必每次都删除它来插入文本。


推荐阅读