android里面自定义View实现调用activity的方法怎么做
来源:互联网 发布:mac mysql 编辑:程序博客网 时间:2024/04/29 07:58
在android客户端中我们经常有自己的定义视图,特别是用fragment的时候,用的还是比较多的,有时候很多响应时间都是在VIew里面完成,发现有时候调用activity的方法都是碰到就搞了,后来越来越发现有些调用底层的硬件的方法是没法搞的,只能重新传递context过来,所以整理了下 目前遇到这样的问题大概用到了两种方法
首先是自定义视图:
public class BasicLineView extends LinearLayout{}
这是我自定义的视图,这个类必须有个构造函数:
public BasicLineView(Context context) {super(context);this.context = context;}
这个构造参数就是上下文 context 如果在其他的类中用到这个自定义视图,我们只需要构造就行了
1)直接使用 this.mAct =(Activity) context; 进行转换
一般这样构造:比如在activityA中
方法一:
Context mCt = this.getApplicationContext();
构造:new BasicLineView(mCt)
方法二:
直接构造 :new BasicLineView(this)
这两个方法是有区别的,区别很大的,导致你后面调用底层方法是没法用的,换句话说就是无法转换
方法一 其实少用,只是有时候我们用了第三方插件,他需要你传递的context获取是 this.getApplicationContext();这种形式的,比如百度地图
这种传递context 他实际基类是 application的,不是activity的,这样就无法从context直接转成activity了,
方法二 是可以直接转换的,他的确定就是传递的上下文如果碰到第三方插件需要的context是没法直接用的,还需要再转化下,还有其他的情况也是无法直接使用的,
2)使用接口来搞定调用底层的方法
这个方法是很安全的一种方法,就是搞起来比较麻烦,代码要写好多,那像上面的方法一句话,强制转换,各有各的好处,
接口的做法就是先在View里面写上一个接口,然后再写个activity类,实现这个view
- android里面自定义View实现调用activity的方法怎么做
- Android在Adapter里面调用Activity的方法/变量
- Android在Adapter里面调用Activity的方法/变量
- android开发 Activity的里面调用两次 setContentView方法
- Android在Adapter里面调用Activity的方法/变量
- Android 里面Activity、Window、View的关系
- Android自定义View的实现方法
- Android自定义View的实现方法
- Android 自定义View onMeasure方法的实现
- Android自定义View的动画实现方法
- Android自定义View的实现方法
- Android在Adapter里面调用Activity或者fragment里面的的方法/变量代码
- Android自定义View的实现方法,深入了解View(四)
- Android从不是Activity的自定义View进行跳转到Activity的方法
- Fragment怎么直接调用Activity的方法
- 自定义控件里面如何结束调用此控件的Activity
- Android自定义View的方法
- Android自定义View的方法
- ROS 中sensor_msgs/Image 消息的格式
- 以后就在CSDN安家了
- 数据结构的字节对齐
- LSTM模型理论总结(产生、发展和性能等)
- POJ 2262 Goldbach's Conjecture
- android里面自定义View实现调用activity的方法怎么做
- 原生的强大DOM选择器querySelector
- Hibernate 多表关联映射- 一对多关系映射(one-to-many)
- 《关于VirtualBox在桥接模式下无法联网 解决方案》
- 如何实现MindMapper中的幻灯片功能的合理运用
- myeclipse 2014中customize perspective选项无法打开的原因
- SVN服务器搭建和使用(二)
- 30多个iOS常用动画,带详细注释
- java中的代理模式 用接口