Android实现EventBus登录界面与传值(粘性事件)
程序员文章站
2023-01-01 15:51:48
本文实例为大家分享了android实现eventbus登录界面与传值的具体代码,供大家参考,具体内容如下
展示效果
添加eventbus导入依赖
comp...
本文实例为大家分享了android实现eventbus登录界面与传值的具体代码,供大家参考,具体内容如下
展示效果
添加eventbus导入依赖
compile 'org.greenrobot:eventbus:3.0.0'
主mainactivity方法
public class mainactivity extends appcompatactivity { private edittext username,password; private button btn_go; private list<userevent> mdata; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mdata=new arraylist<userevent>(); username=(edittext)findviewbyid(r.id.username); password=(edittext)findviewbyid(r.id.passwork); btn_go=(button)findviewbyid(r.id.btn_go); btn_go.settext("登录"); btn_go.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { string name = username.gettext().tostring().trim(); string pass = password.gettext().tostring().trim(); eventbus.getdefault().poststicky(new userevent(name,pass)); startactivity(new intent(mainactivity.this,mainbctivity.class)); } }); } }
主mainbctivity方法
public class mainbctivity extends appcompatactivity { private button btn_shou; private textview tv_b; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main_bctivity); btn_shou=(button)findviewbyid(r.id.btn_shou); btn_shou.settext("接受参数"); btn_shou.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { if(!eventbus.getdefault().isregistered(mainbctivity.this)){ eventbus.getdefault().register(mainbctivity.this); }else{ toast.maketext(mainbctivity.this, "请勿重复注册事件", toast.length_short).show(); } } }); tv_b=(textview)findviewbyid(r.id.tv_b); tv_b.settext("账号多少呢!"); } @override protected void ondestroy() { super.ondestroy(); eventbus.getdefault().unregister(mainbctivity.this); } @subscribe(threadmode = threadmode.posting,sticky = true) public void onmoonevent(userevent userevent){ tv_b.settext("账号:"+userevent.getusername()+"密码:"+userevent.getpasswork()); } }
userevent(事件类)
public class userevent { private string username; private string passwork; public userevent(string username, string passwork) { this.username = username; this.passwork = passwork; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getpasswork() { return passwork; } public void setpasswork(string passwork) { this.passwork = passwork; } public userevent() { } @override public string tostring() { return "userevent{" + "username='" + username + '\'' + ", passwork='" + passwork + '\'' + '}'; } }
activity_main(mainactivity的布局)
<relativelayout android:layout_width="match_parent" android:layout_height="match_parent"> <imageview android:id="@+id/hh_img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/logo" android:layout_centerhorizontal="true" android:layout_margintop="40dp" /> <edittext android:id="@+id/username" android:layout_below="@id/hh_img" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="10dp" android:hint="用户名" /> <edittext android:id="@+id/passwork" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/username" android:layout_margintop="10dp" android:hint="密码" /> <button android:id="@+id/btn_go" android:layout_below="@id/passwork" android:layout_margintop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> <textview android:id="@+id/new_user" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/btn_go" android:text="新用户" android:layout_margintop="5px" /> </relativelayout>
activity_main_bctivity(mainbctivity的布局)
<button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" android:layout_margintop="20dp" android:id="@+id/btn_shou" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btn_shou" android:layout_centerhorizontal="true" android:layout_margintop="32dp" android:id="@+id/tv_b" />
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Android EventBus(普通事件/粘性事件)详解
下一篇: 腌黄瓜怎么做,爱吃的必看