博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Activity获取Fragment的值
阅读量:7059 次
发布时间:2019-06-28

本文共 2569 字,大约阅读时间需要 8 分钟。

利用的是接口回调功能

在Fragment里要写回调,具体代码

package com.example.fragmentdemo;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;/** * A simple {
@link android.support.v4.app.Fragment} subclass. * */public class Left extends Fragment { private TextView tv; @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_left, container, false); tv = (TextView) v.findViewById(R.id.tv_left); return v; } @Override public void onPause() { // TODO Auto-generated method stub super.onPause(); } //接口的作用就是把自己的值给外部用 public void getTv(CallBack c){ c.getText(tv.getText().toString()); } //声明回调接口 public interface CallBack{ public void getText(String msg); }}

然后在Acitivity里写获取Fragment的值

package com.example.fragmentdemo;import com.example.fragmentdemo.Left.CallBack;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends FragmentActivity {    private FragmentManager fm;    private FragmentTransaction ft;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        fm = getSupportFragmentManager();        ft = fm.beginTransaction();        final Left left = new Left();        ft.add(R.id.left, left, "left");        ft.commit();        findViewById(R.id.right).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                left.getTv(new CallBack() {                                        @Override                    public void getText(String msg) {                        Toast.makeText(MainActivity.this,msg,0).show();                                            }                });                            }        });    }}

 

转载于:https://www.cnblogs.com/84126858jmz/p/5121046.html

你可能感兴趣的文章
Mesos安装部署笔记
查看>>
epoll的作用和原理介绍
查看>>
服务器远程监控管理(一)-硬件篇
查看>>
Android permission 工具类
查看>>
Tomcat使用与配置
查看>>
接口与抽象类的区别(转)
查看>>
转载:分析apk工具aapt的使用,解析其原理
查看>>
如何向视图插入数据
查看>>
注册和策略模式
查看>>
python 列表
查看>>
第七课作业
查看>>
MEAN实践——LAMP的新时代替代方案(下)
查看>>
CentOS7 下安装 Oracle 12c
查看>>
简单介绍AngularJs Filters
查看>>
Dubbo下一站:Apache顶级项目
查看>>
我说分布式事务之最大努力通知型事务
查看>>
挖机全车无动作是什么故障原因引起的?
查看>>
监狱电视系统设计原则及应用场景
查看>>
JDK 源码阅读 :ByteBuffer
查看>>
python面试题
查看>>