Làm cách nào tôi có thể thêm văn bản giữ chỗEditText
vào lớp không có trong XML?
Tôi có EditText
đoạn mã sau sẽ được hiển thị trong alertdialog:
final EditText name = new EditText(this);
Làm cách nào tôi có thể thêm văn bản giữ chỗEditText
vào lớp không có trong XML?
Tôi có EditText
đoạn mã sau sẽ được hiển thị trong alertdialog:
final EditText name = new EditText(this);
Câu trả lời:
À, được rồi Những gì bạn đang tìm kiếm là setHint(int)
. Chỉ cần chuyển vào id tài nguyên của một chuỗi từ xml của bạn và bạn sẽ ổn.
Và trong XML, nó đơn giản android:hint="someText"
android:hint="text"
cung cấp thông tin cho người dùng rằng những gì anh ta cần điền cụ thể editText
ví dụ: - tôi có hai edittext một cho giá trị số và một cho giá trị chuỗi. chúng ta có thể đặt gợi ý cho người dùng để anh ta có thể hiểu rằng anh ta cần cung cấp giá trị gì
android:hint="Please enter phone number"
android:hint="Enter name"
Sau khi chạy ứng dụng, hai edittext này sẽ hiển thị gợi ý đã nhập, sau khi nhấp vào chỉnh sửa văn bản, nó sẽ xuất hiện và người dùng có thể nhập những gì mình muốn (xem hình ảnh luxurymode)
Trong hoạt động của bạn
<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"/>
Trong Android Studio, bạn có thể thêm Gợi ý (Trình giữ chỗ) thông qua GUI. Đầu tiên chọn trường EditText trên giao diện người thiết kế. Sau đó bấm vào Cây thành phần Phía bên trái của IDE (Thông thường nó ở đó, nhưng nó có thể được thu nhỏ ở đó) Ở đó bạn có thể thấy Thuộc tính của EditText được chọn. Tìm trường Gợi ý như bên dưới Hình ảnh
Ở đó bạn có thể thêm Gợi ý (Giữ chỗ) vào EditText
Nếu bạn có nghĩa là vị trí mà bạn sẽ thêm nó trong bố trí. Bạn có thể định nghĩa một thùng chứa như FrameLayout và thêm EditText này vào nó khi nó được tạo.
<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);
Bạn phải sử dụng thuộc tính android: gợi ý
<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>
Trong Android Studio, bạn có thể chuyển từ XML -> Design View và nhấp vào Thành phần trong bố cục, trường EditText trong trường hợp này. Điều này sẽ hiển thị tất cả các thuộc tính áp dụng cho thành phần GUI đó. Điều này sẽ hữu ích khi bạn không biết về tất cả các thuộc tính có ở đó.
Bạn sẽ ngạc nhiên khi thấy rằng EditText có hơn 140 thuộc tính để tùy chỉnh.
Nếu bạn muốn chèn văn bản vào trong chế độ xem Chỉnh sửa của bạn vẫn ở đó sau khi trường được chọn (không giống như cách hoạt động của gợi ý), hãy làm điều này:
Trong Java:
// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")
Trong 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"