android:paddingRight=“@dimen/activity_horizontal_margin

android:paddingTop=“@dimen/activity_vertical_margin

tools:context=“scut.carson_ho.fragment_2_activity.MainActivity”>

<TextView

android:id=“@+id/text

android:layout_width=“wrap_content

android:layout_height=“wrap_content

android:textSize=“20dp

android:text=“等待Fragment发送消息” />

<Button

android:id=“@+id/button

android:layout_below=“@+id/text

android:text=“点击接收Fragment消息

android:layout_centerInParent=“true

android:textSize=“10dp

android:layout_width=“wrap_content

android:layout_height=“wrap_content” />

<FrameLayout

android:layout_below=“@+id/button

android:id=“@+id/fragment_container

android:layout_width=“match_parent

android:layout_height=“500dp”/>

2.fragment.xml代码

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

android:orientation=“vertical”

android:layout_width=“match_parent

android:layout_height=“match_parent

<TextView

android:id=“@+id/fragment

android:text=“我是fragment

android:gravity=“center

android:textSize=“30dp

android:layout_width=“match_parent

android:layout_height=“match_parent

android:background=“@color/colorAccent”/>

3.设置回调接口

接口用于用于Activity与Fragment通信

ICallBack.java

public interface ICallBack {

void get_message_from_Fragment(String string);

}

4.fragment代码

public class Fragment extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

View contentView = inflater.inflate(R.layout.fragment, container, false);

// 设置布局文件

return contentView;

}

// 设置 接口回调 方法

public void sendMessage(ICallBack callBack){

callBack.get_message_from_Fragment(“消息:我来自Fragment”);

}

}

5.Activity核心代码

public class MainActivity extends AppCompatActivity {

Button button;

TextView textview;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

button = findViewById(R.id.button);

textview = findViewById(R.id.text);

// 步骤1:获取FragmentManager

FragmentManager fragmentManager = getFragmentManager();

// 步骤2:获取FragmentTransaction

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

// 步骤3:创建需要添加的Fragment

final mFragment fragment = new mFragment();

// 步骤4:动态添加fragment

// 即将创建fragment 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 添加到Activity布局文件定义占位符中(FrameLayout)

fragmentTransaction.add(R.id.fragment_container, fragment);

fragmentTransaction.commit();

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// 通过接口回调消息从fragment发送到Activity

fragment.sendMessage(new ICallBack() {

@Override

public void get_message_from_Fragment(String string) {

textview.setText(string);

}

});

}

});

}

原文地址:https://blog.csdn.net/m0_70083038/article/details/124567682

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_48584.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注