Unity / C # Запретить несколько записей на букву в списке (из полей ввода) - PullRequest
0 голосов
/ 16 октября 2018

Потратив часы на то, чтобы почесать голову, чтобы попытаться извлечь текст из списка полей ввода, я понял это, только обнаружив, что он добавляет несколько отдельных записей в каждом поле в форме прогресса слова.

Изображение для наглядности:

enter image description here

Я хочу, чтобы он регистрировал запись только после того, как пользователь закончил печатать.Вот что у меня есть в терминах кода:

public void getText() {
    for (int i = 0; i < inputList.Count; i++)
    {
        string input = inputList[i].text;
        textList.Add(input);
    }
}

1 Ответ

0 голосов
/ 16 октября 2018

Поле ввода имеет событие с именем «onEndEdit», которое запускается, когда пользователь заканчивает работу с полем, его срабатывает при нажатии клавиши «Ввод» и при выходе из поля при щелчке снаружи.Вот пример

using UnityEngine.UI;
using UnityEngine;
[RequireComponent(typeof(InputField))]
public class InputFieldListener : MonoBehaviour
{

    void Start()
    {
    GetComponent<InputField>().onEndEdit.AddListener(OnEndEdit);

    }
    void OnEndEdit(string s)
    {
        Debug.Log("user entered: "+s);
    }
}
...