Android 中 LocalBroadcastManager 的基本使用

Android 中 LocalBroadcastManager 的基本使用,第1张

概述Android中LocalBroadcastManager的基本使用BroadActivity2发广播,BroadActivity接受.BroadActivity文件packagecom.example.hello.broadcast;importandroidx.appcompat.app.AppCompatActivity;importandroidx.localbroadcastmanager.content.LocalBr

AndroID 中 LocalbroadcastManager 的基本使用

broadActivity2@H_403_13@ 发广播, broadActivity@H_403_13@ 接受.

broadActivity@H_403_13@ 文件

package com.example.hello.broadcast;import androIDx.appcompat.app.AppCompatActivity;import androIDx.localbroadcastmanager.content.LocalbroadcastManager;import androID.content.broadcastReceiver;import androID.content.Context;import androID.content.Intent;import androID.content.IntentFilter;import androID.os.Bundle;import androID.Widget.button;import androID.Widget.TextVIEw;import com.example.hello.R;public class broadActivity extends AppCompatActivity {    private button btnClick;    private TextVIEw tvTest;    private Mybroadcast mybroadcast;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_broad);        btnClick = findVIEwByID(R.ID.btn_click);        tvTest = findVIEwByID(R.ID.tv_test);        btnClick.setonClickListener(v -> {            Intent intent = new Intent(broadActivity.this, broadActivity2.class);            startActivity(intent);        });        mybroadcast = new Mybroadcast();        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction("com.example.hello.broadcast.broadActivity2");        LocalbroadcastManager.getInstance(this).registerReceiver(mybroadcast, intentFilter);    }    private class Mybroadcast extends broadcastReceiver {        @OverrIDe        public voID onReceive(Context context, Intent intent) {            switch (intent.getAction()) {                case "com.example.hello.broadcast.broadActivity2":                    CharSequence newText = "123";                    tvTest.setText(newText);                    break;                default:                    throw new IllegalStateException("Unexpected value: " + intent.getAction());            }        }    }    @OverrIDe    protected voID onDestroy() {        super.onDestroy();        LocalbroadcastManager.getInstance(this).unregisterReceiver(mybroadcast);    }}
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    androID:padding="15dp"    tools:context=".broadcast.broadActivity">    <button        androID:ID="@+ID/btn_click"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:text="@string/click" />    <TextVIEw        androID:ID="@+ID/tv_test"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_margintop="15dp"        androID:gravity="center"        androID:text="@string/app_name"        androID:textcolor="@color/black"        androID:textSize="25sp" /></linearLayout>

broadActivity2@H_403_13@ 文件

package com.example.hello.broadcast;import androIDx.appcompat.app.AppCompatActivity;import androIDx.localbroadcastmanager.content.LocalbroadcastManager;import androID.content.Intent;import androID.os.Bundle;import androID.Widget.button;import com.example.hello.R;public class broadActivity2 extends AppCompatActivity {    private button btnClick;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_broad2);        btnClick = findVIEwByID(R.ID.btn_click);        btnClick.setonClickListener(v -> {            LocalbroadcastManager.getInstance(broadActivity2.this).sendbroadcast(new Intent("com.example.hello.broadcast.broadActivity2"));        });    }}
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    androID:padding="15dp"    tools:context=".broadcast.broadActivity2">    <button        androID:ID="@+ID/btn_click"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:text="@string/click" /></linearLayout>
总结

以上是内存溢出为你收集整理的Android 中 LocalBroadcastManager 的基本使用全部内容,希望文章能够帮你解决Android 中 LocalBroadcastManager 的基本使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1046497.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存