android开发分享Kotlin 实现按钮点击跳转监听事件方式

例子:首页guiding页面点击按钮跳转到主页面package com.example.naizu.mavecimport android.app.activity import android.co

例子:首页guiding页面点击按钮跳转到主页面

  package com.example.naizu.mavec    import android.app.activity   import android.content.intent   import android.os.bundle   import android.widget.toast   import kotlinx.android.synthetic.main.activity_guiding.*    class guiding : activity() {    override fun oncreate(savedinstancestate: bundle?) {    super.oncreate(savedinstancestate)    setcontentview(r.layout.activity_guiding)      button.setonclicklistener({ startactivity(intent(guiding@this,mainactivity::class.java ))})      }  }  

这里要注意的是mainactivity使用的是java 可使用

code->convert java file to kotlin file

补充知识:kotlin解决快速点击页面跳转出现重复页面问题

解决思路:每次点击的时候,设置一个点击的反应间隔时间

效果图:自己复制代码运行,我自己测试的是正常的,原生的不做处理,快速点击,确实会出现两个界面的情况

1.页面跳转,新建一个firstactivirty

记得在清单文件里面注册

<activity android:name=”com.example.admin.zkotlin.firstactivity”/>

2.这个需要跳转到的新界面

  import android.support.v7.app.appcompatactivity  import android.os.bundle     class firstactivity : appcompatactivity() {       override fun oncreate(savedinstancestate: bundle?) {      super.oncreate(savedinstancestate)      setcontentview(r.layout.activity_first)    }  }

3.主界面,有两个按钮,一个是普通的点击跳转,一个是修改后的跳转

  import android.content.intent  import android.support.v7.app.appcompatactivity  import android.os.bundle  import android.util.log  import android.view.view  import kotlinx.android.synthetic.main.activity_main.*  import com.example.admin.zkotlin.nodoubleclicklistener     class mainactivity : appcompatactivity() {       override fun oncreate(savedinstancestate: bundle?) {      super.oncreate(savedinstancestate)      setcontentview(r.layout.activity_main)         button1.setonclicklistener {        var intent = intent(this@mainactivity, firstactivity::class.java)        startactivity(intent)      }         button2.setonclicklistener(object : nodoubleclicklistener() {        override fun onnodoubleclick(v: view?) {          log.e("tag", "button2 click")          var intent = intent(this@mainactivity, firstactivity::class.java)          startactivity(intent)        }         })       }     }

4.全局封装的优化点击事件,做了时间响应判断

  package com.example.admin.zkotlin;        import android.os.systemclock;  import android.view.view;     /**   * user: gavin   * e-mail: gavinchangcn@163.com   * desc: 解决"帕金森"式连续点击   * date: 2016-12-01   * time: 17:26   */  public abstract class nodoubleclicklistener implements view.onclicklistener {    protected static final string tag = "nodoubleclicklistener";       private static final int min_click_delay_time = 1000;    private long lastclicktime = 0;       public abstract void onnodoubleclick(view v);       @override    public void onclick(view v) {      long currenttime = systemclock.uptimemillis();      if (currenttime - lastclicktime > min_click_delay_time) {        lastclicktime = currenttime;        onnodoubleclick(v);      }    }  }

以上这篇kotlin 实现按钮点击跳转监听事件方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/898701.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐