Bagaimana saya bisa menambahkan teks placeholder ke EditText
dalam kelas yang tidak ada dalam XML?
Saya memiliki yang berikut EditText
dalam kode saya yang akan ditampilkan di alertdialog:
final EditText name = new EditText(this);
Bagaimana saya bisa menambahkan teks placeholder ke EditText
dalam kelas yang tidak ada dalam XML?
Saya memiliki yang berikut EditText
dalam kode saya yang akan ditampilkan di alertdialog:
final EditText name = new EditText(this);
Jawaban:
Ah, baiklah. Yang Anda cari adalah setHint(int)
. Cukup kirimkan id sumber daya dari xml Anda dan Anda siap melakukannya.
Dan dalam XML, itu sederhana android:hint="someText"
android:hint="text"
memberikan info kepada pengguna bahwa apa yang perlu dia isi secara khusus editText
misalnya: - saya punya dua edittext satu untuk nilai numerik dan lainnya untuk nilai string. kita dapat menetapkan petunjuk untuk pengguna sehingga dia dapat memahami bahwa nilai apa yang dia perlu berikan
android:hint="Please enter phone number"
android:hint="Enter name"
setelah menjalankan aplikasi, kedua edittext ini akan menampilkan petunjuk yang dimasukkan, setelah mengklik edit teks, pengguna dapat memasukkan apa yang diinginkannya (lihat gambar luxurymode)
Dalam Aktivitas Anda
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:background="@null"
android:hint="Text Example"
android:padding="5dp"
android:singleLine="true"
android:id="@+id/name"
android:textColor="@color/magenta"/>
Di Android Studio Anda dapat menambahkan Petunjuk (Place holder) melalui GUI. Pertama pilih bidang EditText pada tampilan desainer. Kemudian Klik pada Komponen Pohon sisi kiri IDE (Biasanya ada di sana, tetapi mungkin ada di sana diminimalkan) Di sana Anda dapat melihat Properties dari EditText yang dipilih. Temukan bidang Petunjuk seperti di bawah ini Gambar
Di sana Anda dapat menambahkan Petunjuk (Tempat penampung) ke EditText
Jika Anda maksud lokasi di mana Anda akan menambahkannya di tata letak. Anda dapat mendefinisikan wadah seperti FrameLayout dan menambahkan EditText ini ke dalamnya ketika itu dibuat.
<LinearLayout xmlns=".."/>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);
Anda harus menggunakan atribut android: hint
<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>
Di Android Studio, Anda dapat beralih dari XML -> Tampilan Desain dan klik pada Komponen dalam tata letak, bidang EditText dalam kasus ini. Ini akan menunjukkan semua atribut yang berlaku untuk komponen GUI itu. Ini akan berguna ketika Anda tidak tahu tentang semua atribut yang ada di sana.
Anda akan terkejut melihat bahwa EditText memiliki lebih dari 140 atribut untuk penyesuaian.
Jika Anda ingin menyisipkan teks di dalam tampilan EditText Anda yang tetap di sana setelah bidang dipilih (tidak seperti bagaimana petunjuk berperilaku), lakukan ini:
Di Jawa:
// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")
Di Kotlin:
// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"