gpt4 book ai didi

Android:如何使用 LocalBroadcastManager

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:25 30 4
gpt4 key购买 nike

我试图找到如何在扩展 BaseAdapter 的类中使用 LocalBroadcastManager 的答案,但是经过数小时的研究后,我没有找到正确的答案.我需要从适配器中的 Fragment 调用方法,但我不知道该怎么做。有人可以解释我该怎么做吗?感谢您的回复和帮助。

最佳答案

我只能回答有关 LocalBroadcastManager 的问题。

  1. Add support library to your SDK and then to your Android project.
  2. 显然,在您的 java 类中导入支持库等。
  3. 声明您的 LocalBroadcastManager 并实例化它。此外,您可以将其声明为静态并在您的(整个)应用程序中使用它。因此,您不必为每个 Activity 等实例化一个新实例。

    public static LocalBroadcastManager mBroadcaster;
    mBroadcaster = LocalBroadcastManager.getInstance(yourAppContextHere);
  4. 在每个 Activity 、服务等中,根据各自的生命周期注册和取消注册接收器。每个接收器可以有不同的滤波器。例如在 onResume(或 onCreate)和 onPause(或 onDestroy)中::

    IntentFilter mFilter = new IntentFilter(MY_ACTION_1);
    mFilter.addAction(MY_ACTION_2);

    mBroadcaster.registerReceiver(localBluetoothReceiver, mFilter);
    mBroadcaster.unregisterReceiver(localBluetoothReceiver);

    最后,使用接收器发送广播和接收:

    Intent sendCmdIntent = new Intent("your.package.name.your.action.name");
    sendCmdIntent.putExtra(key, value);
    mBroadcaster.sendBroadcast(sendCmdIntent);


    private BroadcastReceiver localBluetoothReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    Do whatever depending on the action and on the extra stuff you put in the intent.

全凭内存,欢迎修改!

关于Android:如何使用 LocalBroadcastManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14496786/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com