我有一个子片段类,我点击发送按钮。这发送文本消息对象。我需要将它传递给一个接口,然后在主片段中处理它,然后将它传递给我的mainactivity。我的MainActivity实现了这个界面。这是我的代码。
界面 -
public interface OnMessageSendListener {
void onMessageSendClick(TextMessageWrapper textMessageWrapper);
}
儿童片段 -
private OnMessageSendListener onMessageSendListener;
if(onMessageSendListener != null)
onMessageSendListener.onMessageSendClick(textMessageWrapper);
MainFragment
public void addOnMessageSendListener(OnMessageSendListener onMessageSendListener) {
this.onMessageSendListener = onMessageSendListener;
}
MainActivity实现接口
在MAinActivity的OnCreate上,我添加了listener -
messagingFragment.addOnMessageSendListener(this);
这是显示短信的方法
@Override
public void onMessageSendClick(TextMessageWrapper textMessageWrapper) {
Toast.makeText(this, "Message sent: " + textMessageWrapper.body, Toast.LENGTH_LONG).show();
}
为什么我的接口对象onMessageSendListener在子片段中为null。基本上我想从子片段发送消息到主要活动。