当我继承OnClickListener()时,我得到一个空指针异常

Ang*_*loS 0 java android

我正在尝试将我OnClickListener()的一个子类化,并且我得到一个'空指针'异常,但我不确定为什么......我对此感到困惑..任何帮助都将非常感谢..

以下是com.Tools中的Utilities Class中的代码

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;
}
}
Run Code Online (Sandbox Code Playgroud)

当我从我的主要课程中调用它时,我这样做:

final Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(Utilities.CreateOnClickListener(MainMenu.this, SettingsMenu.class));
Run Code Online (Sandbox Code Playgroud)

当我调试时,此行发生异常:

act.startActivity(window);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗???非常感谢你提前!!!

Ted*_*opp 5

你不能使用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;
}
}
Run Code Online (Sandbox Code Playgroud)