以下是我的代碼: 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