[英]Any way to change names for auto-created views by kotlin-extensions?
我是Kotlin的新人。 我已經紅了https://kotlinlang.org/docs/tutorials/android-plugin.html並注意到可以通過導入kotlinx.android.synthetic.main.activity_main.*.
將視圖自動綁定到活動kotlinx.android.synthetic.main.activity_main.*.
如果我在Activity中聲明id =“btn_login”的視圖,我可以通過它訪問它
activity.btn_login.setText("Login")
但。 有沒有辦法改變別名來查看,比如ButterKnife:
@BindView(<id of view>)
<name of view>
它是合成導入,因此從技術上講,您可以使用導入別名通過其他名稱調用它:
import kotlinx.android.synthetic.main.activity_main.view.btn_login as btnLogin
但是考慮到沒有自動執行此操作的工具,您可能只想擁抱不同的ID命名方案。
這是一個合理的:
什么,在哪里,說明-修改:
recyclerSearchSuggestions
- RecyclerView顯示搜索建議
fabSearchGo
- 執行搜索的FloatingActionButton
textSearchFilterChip
- 表示搜索過濾器的TextView,樣式為材料芯片
buttonSearchClearFilter
- 清除所選濾波器芯片的按鈕
editSearchFilter
- 用於縮小搜索建議范圍的EditText
據我所知,唯一可以使用命名導入的方法。 這是Kotlin語言的一個非常好的功能,Java不支持。 不幸的是,這需要手動將其設置為您想要替換的那些,因此它可能是輕微的樣板。
但您可以將導入更改為:
import kotlinx.android...your_view as yourView
這適用於任何和所有導入,也適用於任何類型。 它可以用類,方法,常量來完成......無論你想要什么。
雖然如果您可以訪問XML文件,我建議您只更改其中的ID。 沒有理由不使用camelCase,它比在每次導入中使用as customName
稍微容易一些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.