以下是我的代码: Activity1(main):检查db是否有任何行。如果没有,请加载主视图。如果它至少有1个启动Activity2手动返回上一个活动
int num = db.numOfRows();
if(num==0){
setContentView(R.layout.main);
} else {
startActivity(new Intent(this, Activity2.class));
}
活动2:加载使用db信息填充表行的moreprojects视图。
super.onCreate(savedInstanceState);
setContentView(R.layout.moreprojects);
populateRows();
非活动dbhandler:包含所有数据库的东西(db在Activity1中提到)。现在,在Activity2上,您可以删除调用以下方法的行。在那里if(num == 0)我想让Activity2调用Activity1。 Activity1是允许创建项目的屏幕。
public void deleteContact(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_blah, KEY_ID + " = ?",
new String[] { String.valueOf(id) });
int num = numOfRows();
Log.d("Testing","Number of rows: "+num);
if(num ==0){
//go back to Activity1
}
db.close();
}
我希望这是有道理的。
我一直在尝试多种不同的东西,例如: 在activity2中创建一个方法,它完成(); ...但是这并没有做任何事情。它似乎重新加载Activity2。
请帮忙!
删除联系人在dbhandler(非活动)。我所做的是在activity2中创建一个执行完成的方法。在dbhandler中创建了调用该方法并执行完成的对象。完成似乎没有重新启动Activity1中的onCreate()。那可能吗? – Denis 2012-04-12 19:17:21
也许刚刚从deleteContact返回num,在调用deleteContact test时如果num == 0,则调用activity2中的num,然后调用finish(); – 2012-04-12 19:19:53
我将如何去重新启动onCreate?或者我想重新启动整个Activity1? – Denis 2012-04-12 19:21:42