android - 在 Android 中调用父类(super class) onCreate() 方法时如何解决 Activity 中的 NullPointerException

标签 android nullpointerexception oncreate

嗨, friend 们,我写了一个如下所示的 Activity 。

启动画面.java

public class SplashScreen extends Activity {

protected final int _splashTime = 4000;

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);
    new Handler().postDelayed(new Runnable() {      
        public void run() {
            startActivity(mainIntent);*/
            Main mainObj=new Main();
            final Bundle bundle=new Bundle();
            mainObj.onCreate(bundle);
            finish();
        }
    }, _splashTime);
   }
}

从上面的 Activity iam 调用 Main.java 如下。

public class Main extends Activity{

public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);//line 1.

        setContentView(R.layout.main1);

      }

}

在上面第 1 行的 Main.java 中,当调用 super.onCreate(savedInstanceState) 时,我得到了 NullPointerException。我已经确定,如果我通过使用 new 运算符创建一个对象来调用 Activity,它会给出如下所示的 NullPointerException

Main mainObj=new Main();

final Bundle bundle=new Bundle();

mainObj.onCreate(bundle);

但是如果我调用一个 Activity 使用

startActivity(new Intent(SplashScreen.this,Main.claass));

我没有得到 NullPointerException。那么我如何通过使用没有 NullPointerException 的新运算符创建对象来运行 Activity。

最佳答案

So how can i run an Activity by creating an object using new opertor with out NullPointerException.

您永远不应尝试使用 new 创建 Activity 的实例。这不是 Android 的工作方式。 Activity 类是 Android 中的一个特例(以及其他几个特殊的 Android 组件),您需要正确地创建和管理它们。

要创建一个新的Activity,您必须始终创建一个新的Intent 并使用startActivity(...) 或其他startActivityXXX(...) 方法。

参见 Application Fundamentals

关于android - 在 Android 中调用父类(super class) onCreate() 方法时如何解决 Activity 中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542301/

相关文章:

android - 下拉微调器仅加载列表中的第一项,然后在按下时返回 NullPointerException

java - 为什么我的代码中出现 NullPointerException?

android - 如何触发fragment的onCreate方法?

java - 不使用 super.oncreate() 停止循环并扩展 MainActivity

android - onCreate参数: 'savedInstance' is allways null

java - java中返回算术运算符

android - 自定义通知声音在 Android Oreo 中不起作用

java - Android Java 空指针异常

android - 我可以增强按钮的触摸灵敏度吗?

android - 如何以编程方式向 GridView 添加空行 :