Android函数在MainActivity OnCreate中被调用了两次

Android函数在MainActivity OnCreate中被调用了两次,android,database,android-recyclerview,Android,Database,Android Recyclerview,我在OnCreate中有一个initDatabase函数,它打开一个数据库并将数据插入数据库,该数据库用于主活动布局中的Recyclerview适配器。但是我不明白为什么它在onCreate中被调用了两次。有人能给我一些建议吗?很多人都很欣赏 Protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initDatabase(); setContentV

我在OnCreate中有一个initDatabase函数,它打开一个数据库并将数据插入数据库,该数据库用于主活动布局中的Recyclerview适配器。但是我不明白为什么它在onCreate中被调用了两次。有人能给我一些建议吗?很多人都很欣赏

Protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initDatabase();
    setContentView(R.layout.activity_main);
    rv= (RecyclerView) findViewById(R.id.recyclerView);
    cursor=mdb.getCursor();
    adapter=new MyAdapter(cursor,this, 1);
    lm=new LinearLayoutManager(this);
    rv.setLayoutManager(lm);
    rv.setAdapter(adapter);
}

public void initDatabase(){
    Log.e("Main activity", "initDatabase");
    mdb=new MyDatabase(this);
    mdb.addCategory("House");
    mdb.addCategory("Car");
    mdb.addCategory("Life Insurance");
    mdb.addCategory("Banks");
    mdb.addCategory("Investments");
    mdb.addCategory("Kid");
    mdb.addCategory("Mis");

    mdb.addItem("House","Mortgage");
    mdb.addItem("House","HOA");
    mdb.addItem("House","Property Tax");

    mdb.addItem("Car","Registration");
    mdb.addItem("Car","Insurance");
    mdb.addItem("Car","Maintenence");

    Event e=new Event();
    Calendar date = Calendar.getInstance();
    date.set(2015, 5, 3);

    e.category="House";
    e.item="HOA";
    e.date=date;
    e.content="do something";

    mdb.addEvent(e);

    Event e1=new Event();
    Calendar date1 = Calendar.getInstance();
    date.set(2015, 5, 4);

    e1.category="House";
    e1.item="HOA";
    e1.date=date;
    e1.content="do something";

    mdb.addEvent(e1);





    cursor=mdb.getCursor();
}

可能是调用cursor=mdb.getCursor;两次尝试在initDatabase函数中删除它。如果你的initDatabase方法被调用了两次,那一定是因为你的onCreate有一个大写的P保护?方法被调用两次。如果您更改设备方向或使用“设备后退”按钮退出应用程序并重新输入,则可能会发生这种情况。在这些情况下,活动将被销毁并重新创建。