[java][android编程] 在一个控件内部如何获得承载它的activity的句柄

在编写自定义控件的时候,如何能够在"控件内部"获得装载它的activity的句柄?这个问题不是很会形容,我举个例子://定义一个customView类publicclas... 在编写自定义控件的时候,如何能够在"控件内部"获得装载它的activity的句柄?
这个问题不是很会形容,我举个例子:
//定义一个customView类
public class customView extends View {
public customView(Context context) {
super(context);
//here I want to get the handle of "activity1".how to get it?
}
}
然后我在一个layout中布置了它,并且这个layout被加载到activity1这个活动中去了.
那么比如,如果我想用customView来产生一个对话框,我该如何获得activity1的句柄?难道必须自定义一个方法用来传递一个Activity的参数吗?

关于这一点我还有一点引申的疑问是关于java的.就是一个子对象能不能获取它父对象的句柄?除了传参的方法. 比如我在class A中定义对象t1是B类型的.我现在生成一个对象t2是A类型的.那么能不能在t1的内部获得t2这个句柄呢?

本人是新手,接触java和android没有几天不过之前接触过其它语言.希望各位讲解时尽可能通俗一点,谢谢!
展开
 我来答
bd9006
推荐于2016-10-13 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
自定义的组件,在构造中,要求传入调用的类的实例,即可以。
追问
谢谢,算是弄懂了..
Activity继承了Context,所以可以吧构造函数的参数Context当成Activity来用.问题总算解决.
圣鸾OJ
推荐于2016-07-21 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:110万
展开全部
可以有多个class。。。
但是只能有一个class前面是public,例如下面这样
public class A extends Activity{
……
}
并且文件名也应该是A,及与该class同名
class B {
……
}

class C {
……
}
再添加如上的class都是可以的
此外,其他文件要调用该class的话,你还得了解一下class的各种权限等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiahanvy
2013-01-14 · TA获得超过342个赞
知道小有建树答主
回答量:462
采纳率:0%
帮助的人:349万
展开全部
好像直接调用activity1.class 就行了吧
追问
本来应该用activity1.this的,但是跨类不能读取.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式