平阴县住房建设委网站/网络推广项目代理
该文章为转载,可以访问原创博客
当我们想要在fragment去执行一些代码,但是这个代码我们想要把它放在activity里面去执行。那么activity里这段代码是如何在fragment中去启动的呢?
使用接口的方法,可以为我们去实现这个功能。以下分为几个步骤去到达这个功能。
① 创建一个interface接口,在里面写上抽象方法
② 在fragment中,声明这个接口
③ activity里implement这个接口,并实现抽象方法。改方法就是我们想要在activity中实现的方法,写上自己详细的代码
④ 在fragment中调用它
①创建一个interface接口
public interface SendMessageCommunitor {void sendMessage(String msg);
}
②在fragment中,声明这个接口
//...private SendMessageCommunitor sendMessage;//...@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);sendMessage = (SendMessageCommunitor) activity;}
③ activity里implement这个接口,并实现抽象方法
public class MainActivity extends AppCompatActivity implements SendMessageCommunitor {
//...@Overridepublic void sendMessage(String msg) {//...写上你想执行的代码}
④ 在fragment中调用它
@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {sendMessage.sendMessage("open");}});