Jump to content
Unity Insider Forum

UI Input Field (string) Text


Unityanfang

Recommended Posts

Hallo,

 

Ich habe ein Problemchen mit dem UI von einem Objekt; Input Field.

 

Erläuterung:

Ich habe einen Canvas, auf welchem eine Text-Objekt liegt. Dieses Objekt besitzt das UI: Input Field. Ich möchte nun, dass der Text, welchen ich in das Input Feld schreibe, in einer Variable abgespeichert wird.

 

Dazu habe ich eine Text-Objekt InputID genannt und dieses die Input Field Komponente gesteckt. Um das Input Field zu benutzen braucht man eine Text Komponente. Diese habe ich von dem InputID genommen. Nun sollte ich in diesem InputID schreiben können. Funktioniert :).

 

Leider wird nun das Geschriebene nicht mehr angezeigt. Dazu möchte ich nun diesen geschriebenen Text in eine Variable schreiben und iwie anders wieder anzeigen. Nur verstehe ich nicht, wie ich eine direkte Zuweisung mache und bekomme daher bei dem Code:

 

public void IDeingabe (){

 

id = InputID.text;

print ("Veränderung");

 

}

die Fehlermeldung

NullReferenceException: Object reference not set to an instance of an object

Register.IDeingabe () (at Assets/Skripts/Register.cs:14)

UnityEngine.Events.InvokableCall.Invoke (System.Object[] args) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:144)

UnityEngine.Events.InvokableCallList.Invoke (System.Object[] parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:621)

UnityEngine.Events.UnityEventBase.Invoke (System.Object[] parameters) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:756)

UnityEngine.Events.UnityEvent`1[T0].Invoke (.T0 arg0) (at C:/buildslave/unity/build/Runtime/Export/UnityEvent_1.cs:53)

UnityEngine.UI.InputField.SendOnValueChanged () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/InputField.cs:1438)

UnityEngine.UI.InputField.Insert (Char c) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/InputField.cs:1426)

UnityEngine.UI.InputField.Append (Char input) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/InputField.cs:1493)

UnityEngine.UI.InputField.KeyPressed (UnityEngine.Event evt) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/InputField.cs:1073)

UnityEngine.UI.InputField.OnUpdateSelected (UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/InputField.cs:1119)

UnityEngine.EventSystems.ExecuteEvents.Execute (IUpdateSelectedHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:101)

UnityEngine.EventSystems.ExecuteEvents.Execute[iUpdateSelectedHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:269)

UnityEngine.EventSystems.EventSystem:Update()

 

Hilfe? :D

 

PS: Bei dem Input Field habe ich mein Skript dem On Value Changed (String) zu gewiesen.

 

Vielen Dank

Link zu diesem Kommentar
Auf anderen Seiten teilen

"Durch ein Zuweisung, so wie sie da oben steht?"

--> id = Text.text;

--> Nicht möglich, weil der Text der Text-Komponente leer ist. Der Text wird nicht in die Text.text geschrieben, sondern in die Input Field.text . Das Problemchen ist nur, wie kann ich auf diese Zugreifen?

 

http://img5.fotos-ho...rl6zdcai3ov.png

 

PS: Hat sich gelöst, das Problem war so simple... Ich hatte eine Fehlermeldung, die sich so oft wiederholt hat, dass sich der Text nur dann synchronisiert hat, wenn man auf den Text klickt.

 

Vielen Dank trotzdem für die viele Mühe! :D

 

Entschuldigung für die schlimme Rechtschreibung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...