Android中Activity调用Fragment事件,通过回调实现。
来源:互联网 发布:财务会计软件目的 编辑:程序博客网 时间:2024/04/30 12:57
效果图如下:
整个是一个Activity,下面部分为Fragment
我们通过点击Fragment区域在Activity中实现Fragment中的方法。
拓展:我们可以通过点击Fragment中的按钮在Activity中实现Fragment的替换。
public class InterfaceActivity extends AppCompatActivity { FragmentManager fm; InterfaceFragment iff; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_interface); if (null==iff){ iff = new InterfaceFragment(); } if (null==fm){ fm = getSupportFragmentManager(); } fm.beginTransaction().add(R.id.id_interface_ll,iff).show(iff).addToBackStack(null).commit(); iff.setTestInterface(new InterfaceFragment.TestInterface() { @Override public void showText() { Toast.makeText(InterfaceActivity.this,"你点击了Fragment",Toast.LENGTH_SHORT).show(); } }); }}
布局文件 activity_interface.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:text="下面是Fragment" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:orientation="vertical" android:id="@+id/id_interface_ll" android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>布局文件 fragment_interface.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#b9be71b9" android:orientation="vertical"> <TextView android:textSize="20sp" android:gravity="center" android:layout_gravity="center|center_vertical" android:id="@+id/id_interface_btn" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" android:text="这是Fragment" /></LinearLayout>代码 InterfaceFragment
public class InterfaceFragment extends Fragment { TestInterface testInterface; private TextView tv; /** * 回调 * @param testInterface */ public void setTestInterface(TestInterface testInterface) { this.testInterface = testInterface; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_interface,container,false); tv = (TextView) view.findViewById(R.id.id_interface_btn); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //方法回调,在Activity中实现 testInterface.showText(); tv.setText("你点击了Fragment"); } }); return view; } /** * 定义回调接口 */ public interface TestInterface{ void showText(); }}
0 0
- Android中Activity调用Fragment事件,通过回调实现。
- Android Fragment与Activity通过回调实现通信
- 通过回调在fragment中获取activity的触摸事件
- Android开发之Fragment与Activity的数据交互通过回调机制实现
- Fragment中通过回调获得实现Activity中的onTouchEvent函数
- 【转载】Fragment中通过回调获得实现Activity中的onTouchEvent函数
- 【转载】Fragment中通过回调获得实现Activity中的onTouchEvent函数
- Fragment 中调用 activity
- Android中接口的回调,Activity或Fragment与普通类之间的互相调用
- Android Fragment---给Activity创建事件回调
- Android Fragment---给Activity创建事件回调
- Android Fragment用法之给Activity创建事件回调
- android开发 从fragment中通过控件跳到另一个activity的实现
- Android 使用回调.activity调用fragment中的数据
- android-activity中fragment实现分页
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- Android开发-Fragment中调用父Activity中方法-AndroidStudio
- svn版本之间修改文件目录获取并导入到本地
- 使用Nginx+FFmpeg搭建HLS直播转码服务器
- ios单例模式的几种写法
- 团队协作需要使用的git 命令
- hdu_5670 进制问题+数学水题
- Android中Activity调用Fragment事件,通过回调实现。
- sdut 2604 Thrall’s Dream 判断一个图是否单侧连通
- MT4行情datafeed接口二次开发简介
- Redis配置集群遇到问题及解决方法
- J2EE异常 [转]
- 剑指offer(22):包含min函数的栈
- 手动安装rubygems
- Fragment嵌套注意问题
- R语言自定义函数,利用QQ图和shaprio.test检验正态分布