我刚刚在我的应用程序中创建了一个片段,其中包含一些控件。原则上,我希望这些控件通过一个tcp客户端发送它们的当前数据,该客户端有一个与tcp套接字相关的方法TcpClient::sendMessage
。该片段本身包含一个接口,用于创建对MainActivity
的回调。这是我如何将这个片段附加到我的MainActivity
上:
FragmentControls fragmentControls = new FragmentControls((command, message) -> tcp_client.sendMessage(command, message));
getSupportFragmentManager().beginTransaction()
.setReorderingAllowed(true)
.add(R.id.fragment_pi_connected, FragmentControls.class, null)
.commit();
如何创建第一行带有初始化对象fragmentControls
的Fragment,以实现接口函数?
为了完整起见,我的Fragment类:
public class FragmentControls extends Fragment {
public CommandSendInterface commandSendInterface;
public FragmentControls(CommandSendInterface sendCommandInterface) {
super(R.layout.maunal_pi_controls);
commandSendInterface = sendCommandInterface;
}
// Some stuff that handles the View Objects in the Fragment and treats their events...
public interface CommandSendInterface{
void onCommandSend(ServerCommands command, int message);
}
}
1条答案
按热度按时间laik7k3q1#
应该只将对象作为参数而不是.class值传递,现在它工作得很好。