gpt4 book ai didi

java - 当我子类化 OnClickListener() 时,出现空指针异常

转载 作者:行者123 更新时间:2023-12-01 16:39:39 25 4
gpt4 key购买 nike

我正在尝试对我的一个 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;
}
}

关于java - 当我子类化 OnClickListener() 时,出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5249863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com