ฉันจะตั้งค่าข้อความของ EditText ได้อย่างไร?
ฉันจะตั้งค่าข้อความของ EditText ได้อย่างไร?
คำตอบ:
หากคุณตรวจสอบเอกสารEditText
คุณจะพบsetText()
วิธีการ ใช้เวลาใน a String
และ a TextView.BufferType
. ตัวอย่างเช่น:
EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("Google is your friend.", TextView.BufferType.EDITABLE);
นอกจากนี้ยังสืบทอดTextView
s' setText(CharSequence)
และsetText(int)
วิธีการเพื่อให้คุณสามารถตั้งค่ามันก็เหมือนปกติTextView
:
editText.setText("Hello world!");
editText.setText(R.string.hello_world);
EditText.BufferType.EDITABLE
?
EditText
ขยายTextView
; TextView.BufferType.EDITABLE
คือค่าคงที่ที่ถูกต้อง
setText(CharSequence)
จาก TextView
superclass ดังนั้นฉันไม่แน่ใจจริงๆว่าทำไมคำตอบนี้ถึงได้รับการโหวตและยอมรับมากที่สุด
String string="this is a text";
editText.setText(string)
ฉันพบว่า String เป็นคลาสย่อยทางอ้อมที่มีประโยชน์ของ CharSequence
http://developer.android.com/reference/android/widget/TextView.html ค้นหา setText (ข้อความ CharSequence)
http://developer.android.com/reference/java/lang/CharSequence.html
String text = "Example";
EditText edtText = (EditText) findViewById(R.id.edtText);
edtText.setText(text);
ตรวจสอบEditText
ยอมรับเฉพาะค่า String หากจำเป็นให้แปลงเป็นสตริง
ถ้า int, double, long value ให้ทำ:
String.value(value);
ใช้ + ตัวดำเนินการต่อสตริง:
ed = (EditText) findViewById (R.id.box);
int x = 10;
ed.setText(""+x);
หรือใช้
String.valueOf(int):
ed.setText(String.valueOf(x));
หรือใช้
Integer.toString(int):
ed.setText(Integer.toString(x));
นี่คือทางออกใน Kotlin
val editText: EditText = findViewById(R.id.main_et_name)
editText.setText("This is a text.")
คุณสามารถตั้งค่าandroid:text="your text"
;
<EditText
android:id="@+id/editTextName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/intro_name"/>
editTextObject.setText(CharSequence)
http://developer.android.com/reference/android/widget/TextView.html#setText(java.lang.CharSequence )
คุณต้อง:
EditText in the xml file
EditText
ในกิจกรรมEditText
โซลูชันใน Android Java:
เริ่ม EditText ของคุณ ID จะมาที่รหัส xml ของคุณ
EditText myText = (EditText)findViewById(R.id.my_text_id);
ในวิธีการ OnCreate ของคุณเพียงแค่ตั้งค่าข้อความตามชื่อที่กำหนด
String text = "here put the text that you want"
ใช้เมธอด setText จาก editText ของคุณ
myText.setText(text); //variable from point 2
หากคุณต้องการตั้งค่าข้อความในเวลาออกแบบในxml
ไฟล์เพียงแค่android:text="username"
เพิ่มคุณสมบัตินี้
<EditText
android:id="@+id/edtUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="username"/>
หากคุณต้องการตั้งค่าข้อความโดยทางโปรแกรมใน Java
EditText edtUsername = findViewById(R.id.edtUsername);
edtUsername.setText("username");
และkotlin
เช่นเดียวกับ java โดยใช้ getter / setter
edtUsername.setText("username")
แต่ถ้าคุณต้องการใช้.text
จากหลักการแล้ว
edtUsername.text = Editable.Factory.getInstance().newEditable("username")
เพราะEditText.text
ต้องมีeditable
ที่แรกไม่ใช่String