如何从片段访问服务功能,该片段绑定到Android中的父级活动?

如何从片段访问服务功能,该片段绑定到Android中的父级活动?,第1张

如何从片段访问服务功能,该片段绑定到Android中的父级活动?

首先方法

sendMessage(message)
应该在服务内部而不是
LocalBinder
类中

public class SocketListener extends Service {    public void sendMessage(String message){        socket.emit("match", message);    }}

其次从片段访问活动方法,您应该在片段内部创建接口

interface MessageSender {    void sendMessage(String message);}

然后在您的活动中实施

public class MainActivity extends AppCompatActivity implements MessageSender {    @Override    public void sendMessage(String message) {        // call the service here        socketService.sendMessage(message);    }}

在片段中,实现

onAttach()
并初始化接口实例

public class MainViewFragment extends Fragment {    private MessageSender mMessageSenderCallback;    @Override    public void onAttach(Context context) {        super.onAttach(context);         try { mMessageSenderCallback = (MessageSender) context;        } catch (ClassCastException e) { // Error, class doesn't implement the interface        }    }    @Override    public void onDetach() {        super.onDetach();        // Remove activity reference        mMessageSenderCallback = null;    }}

要发送消息,请

mMessageSenderCallback.sendMessage(message)
在片段内调用消息。



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

原文地址: http://outofmemory.cn/zaji/5601128.html

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

发表评论

登录后才能评论

评论列表(0条)

保存