ham*_*d_c 12 android android-intent android-fragments
Intent类有6个构造函数
意图()
创建一个空的意图.
意图(意图o)
复制构造函数.
意图(字符串动作)
使用给定操作创建意图.
意图(字符串动作,Uri uri)
使用给定操作和给定数据URL创建意图.
Intent(Context packageContext,Class cls)
为特定组件创建意图.
Intent(String action,Uri uri,Context packageContext,Class cls)
使用指定的操作和数据为特定组件创建意图.
我几乎是android编程的新手,当我需要启动另一个时,我大多使用第五个Activity或者Fragment:
Intent(Context packageContext, Class<?> cls)
Run Code Online (Sandbox Code Playgroud)
当我想Activity从一个开始,Fragment我这样做:
Intent i = new Intent(getActivity(), DestinationActivity.class);
Run Code Online (Sandbox Code Playgroud)
据我所知,getActivity()将返回一个Activity
但构造函数期望a Context,这怎么可能???
是否有可能因为Activity已经通过getActivity()隐式调用返回getApplicationContext()???
Context在第五个Intent声明中非常仔细地看一下这个论点.它反映了多态性.在Intent需要Context的参数,所以你可以传递任何对象,它是一个Context或从派生Context类.
Activity,AppCompatActivity,IntentService,Service都派生自Context类,因此可以作为参数传递给方法.
| 归档时间: |
|
| 查看次数: |
16435 次 |
| 最近记录: |