繁体   English   中英

当我继承OnClickListener()的类时,出现空指针异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM