如何使用Intent()no-args构造函数

时间:2014-02-13 10:11:52

标签: java android android-intent android-context

如何设置ContextIntent(Context, Class)构造函数中的第一个参数),

如何使用空构造函数创建context的实例后如何设置此intent

更新:

你是说我不能单独设置上下文?

我需要先设置上下文,然后经过一些步骤后才能设置类?

3 个答案:

答案 0 :(得分:3)

您无需设置ContextIntent不需要Context。您只需要在构造函数的特定变体中传递Context,该变体也采用Class参数(有几个可用的构造函数):

Intent(Context packageContext, Class<?> cls)
Intent(String action, Uri uri, Context packageContext, Class<?> cls)

您需要在此处传递Context的原因是构造函数使用ContextClass参数来设置Component中的Intent 。要设置Component,构造函数需要包含包名称类名称(两者都是String类型)。它可以从Class参数中获取类名,并使用Context获取包名称。

你有几种选择。您可以使用空的Intent构造函数,稍后使用以下任何方法设置Component

setClassName (String packageName, String className)
setClassName (Context packageContext, String className)
setClass (Context packageContext, Class<?> cls)
setComponent (ComponentName component);

答案 1 :(得分:2)

您可以设置上下文&amp;像下面这样的课......

Intent intent = new Intent();
intent.setClass(your_context, YourActivity.class);

有关详细信息,请参阅this link

答案 2 :(得分:1)

intent.setClass(Context, class)

修改

首先使用您的逻辑,上下文可能保持不变,因此决定要声明哪个类,然后将其与上下文一起添加,如果这是更复杂的问题,请提供有关您的流的更多信息