怎样在一个fragment or 随意类中操作还有一个fragment中的方法
1 怎样在acitivty中运行fragment中的方法:
首先获得这个Fragment的对象
xxxFragment fragmentObject = (xxxFragment) getFragmentManager.findFragmentByTag("xx");
2 怎样在Fragment中运行activity中的方法:
第一种:让acitivity继承接口
另外一种:在fragment中使用getActivity()可是要加上acitivity的名字,即:
((MainActivity)getActivity()).xxx();
3 假设在fragment中要操作一个fragment,首要要得到这个对象,怎样得到?使用getActivity中的FragmentMnager的getFragmentByTag,然后就能够使用这个fragment的对象来操作他的方法了。
当然获得这个Fragment的时候要转成这个Fragment的一个对象eg:
FragmentManager fm = getActivity.getSupportFragmentManager();
xxxFragment = (xxxFragment)fm.findFragmentByTag("xxx")
4 怎样在随意类中操作一个fragment,首先要得到环境參数,怎样得到?
在activity中:
private static WeakReference<ActionButtonActivity> actionButtonActivty = null;
actionButtonActivty = new WeakReference<ActionButtonActivity>(this);
从activity中将这个actionButtonActivity对象传递到这个随意类中
asyncTask.setActivity(actionButtonActivty);
在随意类中:
private static WeakReference<ActionButtonActivity> actionButtonActivty;
public void setActivity(
WeakReference<ActionButtonActivity> actionButtonActivty) {
this.actionButtonActivty = actionButtonActivty;
}
/**
* this method is invoked on the UI thread after the background computation
* finishes. The result of the background computation is passed to this step
* as a parameter.
*/
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result); FragmentManager fm = actionButtonActivty.get().getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
BFragmentTab_one_event_details bt_det = (BFragmentTab_one_event_details) fm
.findFragmentByTag("2_det");
bt_det.setEvidenceImage(result);
bt_det.setButtonClickable();
ft.addToBackStack(null).commit(); }
OK 上面已经介绍了全部类和fragment之间的调用关系了。
怎样在一个fragment or 随意类中操作还有一个fragment中的方法的更多相关文章
- sql server 如何在一个数据库中操作另一个数据库中的数据
INSERT INTO T1 SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=Serve ...
- 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题
在一次项目上线后,发现了一个奇怪的问题,经过对源码的阅读调试终于解决,具体经过是这样的: 问题描述:tomcat7下面部署多个项目,log4j的日志输出会集中输出到一个项目中,就算配置了日志文件的绝对 ...
- C#中怎么判断一个数组中是否存在某个数组值
(1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...
- [转载]android工程中引入另一个工程中的资源
原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以 ...
- VBA 在第二个sheet中查找第一个sheet中不存在的值
VBA 在第二个sheet中查找第一个sheet中不存在的值 Sub Macro2() ' ' Macro2 Macro ' 宏由 Lizm 录制,时间: 2019/04/10 ' ' Dim ...
- 在一个apk中调用另外一个apk中的activity
今天忽然想到如果要在一个activity中调用另外一个activity该怎么办呢? 感觉这个应该比较简单,应为activity的启动方式就两种:显式启动.隐式启动: 显式启动的话肯定不行,那就只能使用 ...
- iframe中操作主体页面的元素,方法
在不使用三大框架的情况下,iframe的使用可以做到在页面中直接引入别的页面作为当前页面的一部分,但是在iframe的使用过程中存在一些相互之间的操作 例如在iframe中获取主页面的元素,使用主页面 ...
- js中在一个函数中引用另一个函数中的函数,可以这么做
在另一个函数中,将需要使用的函数绑定在window下 // UEditor $(function () { window.ue = UE.getEditor('editor', { // ue即可成为 ...
- bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind
今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...
随机推荐
- zoj 1119 / poj 1523 SPF (典型例题 求割点 Tarjan 算法)
poj : http://poj.org/problem?id=1523 如果无向图中一个点 u 为割点 则u 或者是具有两个及以上子女的深度优先生成树的根,或者虽然不是一个根,但是它有一个子女 w, ...
- MarkDown study:
#MarkDown study:## 区块元素:### 段落和换行 段落:由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行.比方说,若某一行只 ...
- JavaScript--数据结构算法之链表
数组的缺点:数组的长度固定,增删时比较困难要移动元素,而且数据填满再添加元素比较复杂.js:数组有split(),可以任意的分割.不存在上述问题.主要问题是:js数组都被实现成了对象,和其他语言的数组 ...
- 【Uva 12093】Protecting Zonk
[Link]: [Description] n个节点的树; 每个节点都可以选择3种 1.覆盖和它相连的边; c1花费; 2.覆盖和它相连的边以及和它相连的点相连的边; c2花费; 3.不进行操作 覆盖 ...
- [ReasonML] Workshops code
/* list of strings */ let _ = ["example-1", "example-2", "example-3"]; ...
- 怎样在nat方式的虚拟机下做ssh连接
很多人在本机做測试都是用桥接的方式让虚拟机上网. 假设ip地址紧张或者根本就不同意我们拥有一个局域网的ip.这时候便能够使用NAT方式+putty来远程操作. 第一步,打开设备-Network-更改网 ...
- js12--块作用域函数作用域
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- cookie和session笔记
1.http协议是无连接的,即每一次http请求都是新的,和上一次没有联系,这不利于和用户的交互.针对这一缺点产生了cookie. 2.cookie是一段保存在客户端上的验证信息,同一个域使用同一个c ...
- 玲珑杯 Round 19 B Buildings (RMQ + 二分)
DESCRIPTION There are nn buildings lined up, and the height of the ii-th house is hihi. An inteval [ ...
- vue中添加favicon
基于vue-cli 2 首先将favicon.ico图片放在根目录下,通过以下两种方法使其显示正确. 方法一:修改index.html文件 <link rel="shortcut ic ...