android如何传context 30
2个回答
2015-03-24
展开全部
很多初入Android开发的网友向我们问到Context有什么作用,很多地方都用到它,这里Android123给这些新入门的网友做个简单的解释:
Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。
常规需要Context实例的方法主要有各种Service实现的类,比如说SensorManager在实例化时需要getSystemService(String)方法就必须由Context的实例执行,还有一些私有的文件系统I/O比如说openFileInput以及常用的Toast的makeText方法。
Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。
常规需要Context实例的方法主要有各种Service实现的类,比如说SensorManager在实例化时需要getSystemService(String)方法就必须由Context的实例执行,还有一些私有的文件系统I/O比如说openFileInput以及常用的Toast的makeText方法。
2015-12-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
Android系统传递Context有多种方式,以下分类进行讲解:
1、在同一个Activity中,传递Context可以直接通过Activity.this获得当前Activity传递的Context。或者通过getAppicaionContext获得Application传递的Context。
2、在View中获得Context,可以直接通过getContext获得,由Activty在attachView后传递过来的Context。
3、在其他类中,可以由参数进行传递,比如dialog初始化需要传递Context,这样便可以在类中接收到。
需要说明的是,不同的Activity中的Context是不同的,每个Activity有自己的Context对象,所以不应该在Activity中使用其他Activity的Context。
1、在同一个Activity中,传递Context可以直接通过Activity.this获得当前Activity传递的Context。或者通过getAppicaionContext获得Application传递的Context。
2、在View中获得Context,可以直接通过getContext获得,由Activty在attachView后传递过来的Context。
3、在其他类中,可以由参数进行传递,比如dialog初始化需要传递Context,这样便可以在类中接收到。
需要说明的是,不同的Activity中的Context是不同的,每个Activity有自己的Context对象,所以不应该在Activity中使用其他Activity的Context。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |