在我的情况下,我有一个数组InputFields -六个 InputFields。如何从每个 InputField 中获取文本并将其保存?
一切都应该像这样工作:我打开应用程序,更改一个、两个或所有输入字段,然后关闭应用程序。再次,我打开,输入字段必须是我之前写的值。
我有一个看起来必须正常工作的代码,但是这个代码的工作方式是这样的:它只接受用户输入的最后一个值并将其写入最后一个输入字段。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SaveText : MonoBehaviour {
public GameObject[] InputFields;
public static string n;
public void Start ()
{
for(int i = 0; i < InputFields.Length; i++)
{
InputFields[i].GetComponent<InputField> ().text = PlayerPrefs.GetString (InputFields[i].name);
Debug.Log (PlayerPrefs.GetString (InputFields[i].name));
n = InputFields[i].name;
var input = InputFields[i].GetComponent<InputField> ();
var se = new InputField.SubmitEvent ();
se.AddListener (SubmitName);
input.onEndEdit = se;
}
}
public void SubmitName(string arg)
{
PlayerPrefs.SetString (n, arg);
}
我初始化的输入字段数组在 Unity 中拖动脚本组件中空闲单元格中的每个输入字段。