Java I';当我将OnClickListener()子类化时,我得到一个空指针异常

Java I';当我将OnClickListener()子类化时,我得到一个空指针异常,java,android,Java,Android,我正在尝试将我的OnClickListener()的一个子类化,我得到了一个“null指针”异常,但我不确定原因。。我为这件事发疯了。。任何帮助都将不胜感激 下面是com.Tools中我的Utilities类中的代码 public class Utilities { public static View.OnClickListener CreateOnClickListener(final Context context,final Class<?> cls) { fina

我正在尝试将我的
OnClickListener()
的一个子类化,我得到了一个“null指针”异常,但我不确定原因。。我为这件事发疯了。。任何帮助都将不胜感激

下面是com.Tools中我的Utilities类中的代码

public class Utilities 
{
public static View.OnClickListener CreateOnClickListener(final Context context,final Class<?> cls)
{
    final Activity act = new Activity();
    View.OnClickListener listener = new View.OnClickListener() 
    {
            public void onClick(View v) 
            {
                Intent window = new Intent(context, cls);
                act.startActivity(window);
                act.finish();
            }
    };

    return listener;
}
}
调试时,此行出现异常:

act.startActivity(window);

有什么想法吗???提前非常感谢

你不能使用像那样凭空创建的
活动。它需要连接到系统上才能发挥作用。此外,你不需要它。请尝试以下实现:

public class Utilities 
{
public static View.OnClickListener CreateOnClickListener(final Context context,final Class<?> cls)
{
    View.OnClickListener listener = new View.OnClickListener() 
    {
            public void onClick(View v) 
            {
                Intent window = new Intent(context, cls);
                context.startActivity(window);
            }
    };

    return listener;
}
}
公共类实用程序
{
public static View.OnClickListener CreateOnClickListener(最终上下文,最终类cls)
{
View.OnClickListener=newview.OnClickListener()
{
公共void onClick(视图v)
{
意向窗口=新意向(上下文,cls);
背景。起始触觉(窗口);
}
};
返回侦听器;
}
}

你不能使用像那样凭空创建的
活动。它需要连接到系统上才能发挥作用。此外,你不需要它。请尝试以下实现:

public class Utilities 
{
public static View.OnClickListener CreateOnClickListener(final Context context,final Class<?> cls)
{
    View.OnClickListener listener = new View.OnClickListener() 
    {
            public void onClick(View v) 
            {
                Intent window = new Intent(context, cls);
                context.startActivity(window);
            }
    };

    return listener;
}
}
公共类实用程序
{
public static View.OnClickListener CreateOnClickListener(最终上下文,最终类cls)
{
View.OnClickListener=newview.OnClickListener()
{
公共void onClick(视图v)
{
意向窗口=新意向(上下文,cls);
背景。起始触觉(窗口);
}
};
返回侦听器;
}
}

我想当你打电话的时候

act.startActivity(window);
应该从当前上下文调用它。 i、 e


我想当你打电话的时候

act.startActivity(window);
应该从当前上下文调用它。 i、 e


窗口
为空。实际上,
null
——甚至没有定义。@Nishant:在我看来定义得很好……调试时,是否检测到空窗口或空动作?我将窗口定义为意图,并将其初始化为新意图(上下文,cls);这就是你所指的吗?如果我在主类(onClick()中的那三行)中使用相同的三行代码,它就会正常工作fine@all--对不起。我一定是困了。我怎么会错过那一行!忽略我的上一条注释。
窗口
为空。实际上,
null
——甚至没有定义。@Nishant:在我看来定义得很好……调试时,是否检测到空窗口或空动作?我将窗口定义为意图,并将其初始化为新意图(上下文,cls);这就是你所指的吗?如果我在主类(onClick()中的那三行)中使用相同的三行代码,它就会正常工作fine@all--对不起。我一定是困了。我怎么会错过那一行!忽略我之前的评论。哦,对不起!我几乎在同一时间发布了相同的答案。我道歉@Adil Soomro“哦,对不起!我几乎在同一时间发布了相同的答案。我向你道歉!!”我希望你能尽快克服。多个答案没有错。至少,它能让OP确信,这不仅仅是一个“疯子”在暗示一些行不通的事情。这样一来,它就成了大规模精神错乱的证据哦,对不起!我几乎在同一时间发布了相同的答案。我道歉@Adil Soomro“哦,对不起!我几乎在同一时间发布了相同的答案。我向你道歉!!”我希望你能尽快克服。多个答案没有错。至少,它能让OP确信,这不仅仅是一个“疯子”在暗示一些行不通的事情。这样一来,它就成了大规模精神错乱的证据