2016-04-22 56 views
2
@EBean 
public class CartDB { 

@OrmLiteDao(helper = DatabaseHelper.class, model = Cart.class) 
CartDao cartDao; 

public Cart getCart() { 
    return cartDao.getCart()} 

public String count(){ 
    long count =0; 
    try { 
     count= cartDao.countOf(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    return count+""; 
    } 

在我的第二個活動的onCreate()我叫計數方法如何在購物車的第一次活動中計數?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second_activity); 

Log.e("Count",cartDB.count()+""); 
} 

比計算方法的返回數據, 但在我的第一個活動的onCreate()我叫計數方法

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_layout); 
      Log.e("Count",cartDB.count()+""); 
    } 

nullpointer exeption和我的應用程序崩潰

注意:從S檢索數據qlite數據庫

+0

後全logcat的 –

+0

請出示您的logcat @ Payal.Please按照下面的答案。 – Lampard

+0

04-22 15:00:44.453 567-567/com.gems.anychinese E/AndroidRuntime:致命異常:主要 java.lang.RuntimeException:無法啓動活動ComponentInfo {com.gems.anychinese/com.gems.anychinese .DashBoardActivity}:java.lang.NullPointerException –

回答

3

空指針異常是因爲您尚未在活動中初始化Java Class CardDB;

請CartDB的一個實例:

CartDB mycart; 

然後在活動的onCreate方法正確初始化:

onCreate(Bundle savedInstance){ 
super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_layout); 
mycart=new CartDB(); 

} 
+0

我初始化cardDb上面onCreate() –

+0

請在您的問題中顯示您的完整logcat @ Payel.So,我們可以真正調試問題出在哪裏。 – Lampard

+0

是的我在我的應用程序中使用註釋,所以mycart的初始化是@Bean CartDB cartDb; –