Android实现EventBus登录界面与传值(粘性事件)
作者:飞鸟96 发布时间:2023-11-08 00:34:52
标签:Android,EventBus,登录,传值
本文实例为大家分享了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" />
来源:http://blog.csdn.net/qq_39493777/article/details/78467719


猜你喜欢
- 本文实例讲述了Android中AsyncTask与handler用法。分享给大家供大家参考,具体如下:首先,我们得明确下一个概念,什么是UI
- 先说明一下,项目代码已上传至github,不想看长篇大论的也可以先去下代码,对照代码,哪里不懂点哪里。代码在这https://github.
- 本文实例为大家分享了Android自定义轮播图的具体代码,供大家参考,具体内容如下定义Banner主要使用ViewPager实现滑动publ
- 本文实例讲述了C#实现TCP连接信息统计的方法。分享给大家供大家参考。具体实现方法如下:using System;using System.
- 最近对接接口的时候,需要根据对方的请求数据类型来进行传值,常用的就是application/x-www-form-urlencoded,aj
- 本文实例讲述了Java二维数组简单定义与使用方法。分享给大家供大家参考,具体如下:Java的二维数组是先创建一个一维数组,然后该数组的元素再
- 1.修改主站点的elasticsearch.yml添加一下行:xpack.security.enabled: true2.生成安全秘钥切到E
- 如下所示:class B {public B() { super(); System.out.println(&qu
- Knn算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性
- 在IDEA中配置log4j,步骤很简单1.在Maven中加入以下配置<dependency> <groupI
- Android 1.5之后将调节亮度的api隐藏了,不过android的源码中依然有方法可以实现,如下:IPowerManager powe
- 前言记录下SpringBoot修改yml配置文件后无需重启服务的方式(打包后生效),效果如下:具体实现实现代码pom.xml<depe
- 开始接触分布式概念,学习之前要准备搭建Dubbo和Zookeeper环境的简单搭建。Window下安装Zookeeper和Dubbo-adm
- IO流基本概念IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都是在IO包上流按操作数
- 介绍:unity界面开发,会用到很多导航的按钮,他们是公共的,单击其中一个按钮,显示对应的界面。unity中,UGUI自带Toggle组件,
- 以前传统的比较方式是遍历图片中的每一个像素,然后进行比对。这样的比对在少量图片的比对上虽然效率低一点,但是也没有什么不好。但是在大量图片比对
- 像360卫士的波浪球进度的效果,一般最常用的方法就是画线的方式,先绘sin线或贝塞尔曲线,然后从左到右绘制竖线,然后再裁剪圆区域。今天我这用
- 本文实例讲述了Java实现字符串解析为日期时间的方法。分享给大家供大家参考,具体如下:Java版本:1.8开始import java.tim
- 本文实例讲述了C#计算程序执行过程花费时间的方法。分享给大家供大家参考。具体如下:计算执行完程序花费的时间:void AddInfo(){
- Spring的事务隔离级别和事务的传播行为是面试中经常考察的问题,做个简单的总结。传播行为在SpringBoot中通过Transaction