2017-06-12 27 views
17

Tôi cố gắng để thiết lập văn bản trong một EditText nhưng nó nói Gõ không phù hợp yêu cầu Editable tìm thấy chuỗi mã của tôi là như sauSetting văn bản trong EditText Kotlin, Android

String name = "Paramjeet" 
val nametxt = findViewById (R.id.nametxt) as EditText 
nametxt.text = name 

Dont nói để sử dụng setText vì tôi đang sử dụng Kotlin không java

+0

Bản sao có thể có của [Làm thế nào để Kotlin pr cú pháp truy cập operty hoạt động cho các lớp Java?] (https://stackoverflow.com/questions/37374075/how-does-kotlin-property-access-syntax-work-for-java-classes) –

+0

Ngoài ra: Bạn không cần findViewById nếu bạn sử dụng các phần mở rộng Android Kotlin (đi kèm với Android Studio). Bạn chỉ có thể gọi 'nexttxt.setText (name)' mà không cần tìm hoặc truyền. – AjahnCharles

Trả lời

33

Sử dụng setText(String), kể từ editText.text mong đợi một Editable, không phải là String.

6

Sử dụng setText(String) như EditText.text đòi hỏi một editable tại firstplace không Chuỗi

tẠI SAO?

Nice explanation bởi Michael được cấp dưới this link. Hãy truy cập vào liên kết này để biết thêm chi tiết

Khi tạo thuộc tính tổng hợp cho cặp getter/setter Java Kotlin đầu tiên tìm kiếm một getter. Bộ getter là đủ để tạo ra một thuộc tính tổng hợp với một kiểu của getter. Mặt khác, tài sản sẽ không được tạo ra nếu chỉ có một trình thiết lập trình bày.

Khi người chơi setter tham gia vào quá trình tạo thuộc tính phát trở nên khó khăn hơn. Lý do là getter và setter có thể có loại khác nhau. Hơn nữa, getter và/hoặc setter có thể bị ghi đè trong một lớp con.

-1

Hãy thử sử dụng nametxt.post: nametxt.post ({nametxt.setText ("của bạn văn bản ")})

Các vấn đề liên quan