2017-07-02 49 views
0

我有一个if语句来检查sqlite数据库中是否有任何行。如果数据库中存在行,则启用一些按钮,否则将禁用按钮。每次显示活动时运行一个方法

像这样

DBHandler dbHandler = new DBHandler(this, null, null, 1); 
    SQLiteDatabase db = dbHandler.getWritableDatabase(); 
    String count = "SELECT count(*) FROM clients"; 
    Cursor mcursor = db.rawQuery(count, null); 
    mcursor.moveToFirst(); 
    int icount = mcursor.getInt(0); 
    if(icount == 0) 
    { 
     btnViewClient.setEnabled(false); 
     btnViewAppt.setEnabled(false); 
     btnAddAppt.setEnabled(false); 
     btnViewBill.setEnabled(false); 
     btnAddBill.setEnabled(false); 
    } 
    else 
    { 
     btnViewClient.setEnabled(true); 
     btnViewAppt.setEnabled(true); 
     btnAddAppt.setEnabled(true); 
     btnViewBill.setEnabled(true); 
     btnAddBill.setEnabled(true); 
    } 

这是在我的onCreate方法。

所以现在如果用户向sqlite数据库添加一行并点击返回按钮返回到主菜单。我如何再次运行此代码并启用按钮?我需要在每次显示活动时运行此代码,但我不想完成该活动,因为那样您就无法使用后退按钮返回到该活动。

回答

2

您可能想了解更多有关Activity Lifecycle的信息。

特别是,您需要使用onResume方法 - 每当您的应用程序返回到您的Activity时,它都会被调用。

所以,只要把你的代码放在这个方法上面。

+0

我真的很尴尬,我忘了这存在....感谢它已经完成... – Shawnzey

相关问题