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确信,这不仅仅是一个“疯子”在暗示一些行不通的事情。这样一来,它就成了大规模精神错乱的证据