Kotlin Android 使用笔记

1. Java :  getClass() 

    ->  kotlin: this.javaClass属性

2.Java:  XXX.Class.getDeclaredField("fieldName") 

   ->  Kotlin: XXX::class.java.getDeclaredField("fieldName")

3.Java:  XXX.this.setVisibility(View.Visible)

    ->Kotlin:  this@XXX.visibility = View.Visible

4. Kotlin: 可以有如下写法

@get:POST("url")
val banner: Observable<BannerModel>

相当于 

@POST("url")
fun getBanner(): Observable<BannerModel>

5. ButterKnife的OnClick注解对比

Java:  @OnClick({R.id.btn_back, R.id.btn_category,R.id.btn_search})

Kotlin: @OnClick(R.id.btn_back, R.id.btn_category, R.id.btn_search )  省了花括号

6.重写/实现方法的格式对比:

Java:  

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ButterKnife.bind(this);
}

Kotlin:

override fun onCreate( savedInstanceState:Bundle?)
{
    super.onCreate(savedInstanceState)
    ButterKnife.bind(this)
}

6.匿名对象

Java:

mAdapter.setOnItemClickListener(new BaseAdapter.OnItemClickListener() {
    @Override
    public void onItemClick(View view, int position) {
        Bundle extras = new Bundle();
        extras.putString("url", mDataList.get(position).getUrl());
        launch(PolicyDetailActivity.class,extras);
    }
});

Kotlin:

mAdapter.setOnItemClickListener(object: BaseAdapter.OnItemClickListener {
    override  fun onItemClick( view:View,  position:Int) {
        val extras:Bundle =  Bundle()
        extras.putString("url", mDataList.get(position).getUrl())
        launch(PolicyDetailActivity::class.java,extras)
    }
})

7.ButterKnife绑定

Java:

View rootView = super.onCreateView(inflater, container, savedInstanceState);
unbinder = ButterKnife.bind(this, rootView);

Kotlin:

val rootView: View? = super.onCreateView(inflater, container, savedInstanceState)
unbinder = rootView?.let{ButterKnife.bind(this, it)}!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值