[英]I'm getting a null pointer exception when I subclass an OnClickListener()
我正在尝试将我的OnClickListener()
的子类化,并且得到了“空指针”异常,但我不确定为什么..我对此很OnClickListener()
..任何帮助将不胜感激..
这是com.Tools中我的实用程序类中的代码
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;
}
}
当我从主班级调用它时,我会这样做:
final Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(Utilities.CreateOnClickListener(MainMenu.this, SettingsMenu.class));
当我调试时,此行会发生异常:
act.startActivity(window);
有任何想法吗??? 提前非常感谢您!!!
您不能像这样凭空创造出一个Activity
。 它需要附加到系统上才能有用。 此外,您不需要它。 请尝试以下实现:
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;
}
}
好吧,我想当你打电话时
act.startActivity(window);
应该从当前上下文中调用它。 即
context.startActivity(window);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.