首页 > 其他分享 >Activity生命周期与跳转

Activity生命周期与跳转

时间:2022-10-19 14:55:50浏览次数:57  
标签:生命周期 title 跳转 getActivity intent Activity 参数 监听

Activity生命周期与跳转

新建activity

新建ChattingActivity,用作聊天对象的展示页面

   

---

 

 参数传递

 1 public class ChattingActivity extends AppCompatActivity {
 2 
 3     private ActivityChattingBinding binding;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_chatting);
 8         binding = ActivityChattingBinding.inflate(getLayoutInflater());
 9         setContentView(binding.getRoot());
10         TextView title = findViewById(R.id.title);
11         Intent intent = getIntent();
12         String str_title = intent.getStringExtra("title");
13         title.setText(str_title);
14     }

获取参数

创建intent对象,使用getStringExtra获取参数

参数绑定

使用findViewById获取TextView对象,使用setText绑定参数

页面跳转

 1     private void initRecyclerView() {
 2         mCollectRecyclerView=binding.chatRecyclerView;
 3         mCollectRecyclerAdapter = new myAdapter(getActivity(), chatEntities);
 4         //给RecyclerView设置adapter
 5         mCollectRecyclerView.setAdapter(mCollectRecyclerAdapter);
 6         //设置layoutManager,可以设置显示效果,是线性布局、grid布局,还是瀑布流布局
 7         //参数是:上下文、列表方向(横向还是纵向)、是否倒叙
 8         mCollectRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
 9         //设置item的分割线
10         mCollectRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(),DividerItemDecoration.VERTICAL));
11         //RecyclerView中没有item的监听事件,需要自己在适配器中写一个监听事件的接口。参数根据自定义
12         mCollectRecyclerAdapter.setOnItemClickListener(new myAdapter.OnItemClickListener() {
13             @Override
14             public void OnItemClick(View view, ChatEntity data) {
15                 //此处进行监听事件的业务处理
16                 Toast.makeText(getActivity(),"你点击了我的消息",Toast.LENGTH_SHORT).show();
17                 Intent intent=new Intent();
18                 String title = data.getChatName();
19                 intent.putExtra("title",title);
20                 intent.setClass(getActivity(), ChattingActivity.class);
21                 getActivity().startActivity(intent);
22             }
23         });
24     }

点击事件监听

RecyclerView中没有item的监听事件,需要自己在适配器中写一个监听事件的接口。参数根据自定义
在OnItemClick里面写入点击事件

 页面跳转

依然是新建Intent对象

通过setClass()设置将要跳转的页面

startActivity实现页面跳转,开启ChattingActivity页面生命周期

参数传递

通过intent对象putExtra()传递参数

这里使用"title"作为key

如果需要传递多个参数,可以使用多个putExtra

代码仓库

 

标签:生命周期,title,跳转,getActivity,intent,Activity,参数,监听
From: https://www.cnblogs.com/yoyosanchez/p/16806234.html

相关文章

  • Javascript跳转页面和打开新窗口等方法
    1.在原来的窗体中直接跳转用window.location.href="你所要跳转的页面";2、在新窗体中打开页面用:window.open('你所要跳转的页面');window.history.back(-1);返回上一页3、一......
  • Uniapp 验证没登录跳转
    逻辑:我随便写一个没有cookie我就跳转到登录页,而且任何返回都没用1.在App.vue里写onload判断是否存在Cookie【有效否后面验证】   2.在导入Uniapp拦截器......
  • uniapp 使用video控制视频未学完部分不能跳转
    思路:每次进入视频播放页面获取视频的总长度提交至后台(使用video标签中的 loadedmetadata方法可以获取到,下面代码有使用,这个是作为提供给后台存数据库作为播放百分比的,......
  • Activity-创建一个按钮,进行界面的切换
    <intent-filter><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.......
  • Vue生命周期介绍
    beforeCreate(创建前)在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el和data并未初始化,因此无法访问methods,data,computed等上的方法和......
  • IOC生命周期 -3种生命周期
    IServiceProvider处理提供所需服务实例,有需要还会负责释放服务实例。具体操作为调试用实例的dispose或者异步dispose方法。scoped和transient:当前Iserviceprovider......
  • IOC 生命周期-服务范围
    publicclassServicesPrpvoder:IServicesPrpvoder服务提供者可以利用IserviceScoprFactory创建一个服务范围IServiceScope对象IServicesScope的包含IServicesPrpvod......
  • vue 的生命周期
    生命周期有4个阶段:创建阶段---挂载阶段---更新阶段---销毁阶段,每个阶段2个钩子函数;创建阶段 beforecreate创建一个空的vue实列对象,此时data和methods的数据......
  • PHP 获取短链等接跳转后的真实地址
    //1、用get_headers函数php自带的get_headers函数可以获取服务器响应一个HTTP请求所发送的所有标头functionget_redirect_url_by_header($url){$header=get_hea......
  • Java线程的生命周期
    新建运行阻塞等待计时等待中止在java.lang.Thread.State类中可以查看一个线程在给定的时间点只能处于一种状态面试题:一个线程两次调用start()方法会出现什么情况......