android message的tab在哪里,android – SlidingTabLayout选项卡之间的通信

最干净的方法是定义一个包含Fragments的Activity将实现的接口.这就是我最近解决这个问题的方法:

首先在它自己的文件中定义接口,因为它必须对其他类可见.

public interface FragmentCommunication

{

public void printMessage(String message);

//....

}

在您的Activity中,您需要实现此接口

public class MainActivity extends ActionBarActivity implements FragmentCommunication

{

//....

public void printMessage(String message)

{

System.out.println(message);

}

}

最后在你的片段中,你可以使用getActivity()获取托管活动,并使用通信方法将活动强制转换为已实现的通信接口,如下所示:

((FragmentCommunication) getActivity()).printMessage("Hello from Fragment!");

编辑:要进一步将消息传递给其他片段,请执行以下操作:由于您的选项卡都扩展了Fragment,因此最好创建另一个接口

public Interface ReceiverInterface

{

public void receiveMessage(String str);

}

然后在标签中实现此功能

public class Tab1 extends Fragment implements ReceiverInterface

{

// .... code .....

public void receiveString(String str)

{

//use str

}

}

要进一步将此消息发送到其他片段,需要活动查看它们.例如,现在修改Activity实现的printMessage()

public void printMessage(String message)

{

System.out.println(message);

//Send the message that came from one fragment to another

if (tabFragment1 instanceof ReceiverInterface){

((ReceiverInterface) tabFragment1).receiveMessage(message);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值