2013-11-22 47 views
0

您好我想問一下我怎麼可以在這裏的整數是我的代碼如何插入整數,在數據庫中添加值

@Override 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    String scoreValue = String.valueOf(scoreEdit); 
    long val = adapter.insertDetails(scoreValue + 3); 
    finish(); 
} 

什麼我tryng做的是,每次我按一下按鈕它會得到scoreValue並在其中加3,但是當我在scoreValue中放入一個數字(如「2」)時,它會有「23」而不是「5」,因爲我希望它是。我知道這是對字符串,但是當我改變

String scoreValue = String.valueOf(scoreEdit); 

IntegerscoreValue = String.valueOf(scoreEdit); 

我有一個錯誤可以有人請幫助我,請感謝

編輯:

新代碼

@Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      int scoreValue = Integer.parseInt(scoreEdit.getText().toString()); 
      long val = adapter.insertDetails(scoreValue + 3); 
      finish(); 
     } 

public long insertDetails(int score) { 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(openHelper_ob.SCORE, score); 
    opnToWrite(); 
    long val = database_ob.insert(openHelper_ob.TABLE_NAME, null, 
      contentValues); 
    Close(); 
    return val; 
} 
+0

String.valueOf(ScoreEdit)試圖將ScoreEdit解析爲String,ScoreEdit的數據類型是什麼? – 2red13

+0

什麼是'scoreEdit'?從edittext獲得價值? – Raghunandan

+0

@Raghunandan - 是的,它從edittext獲得價值 – John

回答

0

使用這種拍攝,必須得到字符串形式的EditText第一

int scoreValue = Integer.parseInt(scoreEdit.getText().toString()); 

,而不是

String scoreValue = String.valueOf(scoreEdit); 
+0

另一個問題是,我使用該代碼,然後它現在顯示一個錯誤「整數類型的方法parseInt(字符串)不適用於論證(EditText)」 – John

+0

所以你必須首先獲取字符串格式的EditText,現在檢查更新的答案。 –

+0

它仍然concatinates我放的值 – John

0

將字符串添加在一起會給你串聯,但是如果你想取兩個整數的總和而不是將值轉換爲整數,那麼計算AND THEN String.valueOf(x)將返回總和的字符串值。其中X是結果的最終總和。