2014-10-07 68 views
0

可見按鈕,我想打一個按鈕可見,在數據庫中得分超過20 mycode的:如何爲按鈕

mScoreDataAdapter = new DBDataSource(this); 
mScoreDataAdapter.open(); 
LevelUnsur rs = mScoreDataAdapter.getskor(1); 
int a = rs.getSkor(); 
if(a > 20){ 
    level2.setVisibility(View.VISIBLE);   
} 

在上面mycode的不工作。所以請告訴我一個答案了上述問題,或者告訴我,如果有可見的任何其他方法按鈕,如果郭爾在數據庫中超過20
在我的logcat錯誤

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tugasakhir/com.example.tugasakhir.menuleveldasar}: java.lang.NullPointerException 
+0

既然你得到'NullPointerexception',也許rs是空的。或者你忘記初始化'level2'。 – 2014-10-07 20:17:18

+0

您應該添加兩個if語句來驗證「rs」和「level2」不是「null」。如果其中任何一個只是使用'Log.v(TAG,message); '記錄它的方法。 – MrHug 2014-10-07 20:40:02

+0

您沒有足夠的代碼來讓任何人診斷出錯。發佈您的代碼。 – Martin 2014-10-07 22:08:17

回答

0

從所提供的有限的代碼我假定空指針上升由於下面的行:

LevelUnsur rs = mScoreDataAdapter.getskor(1); 

如果getskor方法不適用於1返回一個值作爲輸入,那麼RS將爲空。

嘗試將其更改爲:

LevelUnsur rs = mScoreDataAdapter.getskor(0); 

PS。爲什麼你在該方法中輸入1,在這個階段邏輯不清楚。

+0

,因爲數據庫中的得分數據是20,我把它保存在LevelUnsur rs = mScoreDataAdapter.getskor(1)中的前一個活動 – CoffeToBrought 2014-10-08 05:07:34

+0

數據中。 if score.setText(「」+ rs.getScore());它顯示20 – CoffeToBrought 2014-10-08 05:18:52