2012-08-25 55 views
3

我創建了一個計時器,它將通過編輯文本框從用戶接受指定的時間值並傳遞給CountDownTimer()。這種方法期望長期價值這就是爲什麼我轉換成長,但是當我加入這個長期皈依Android模擬器顯示錯誤不幸stopped.And這裏是我的代碼類型轉換爲長

EditText ti=(EditText)findViewById(R.id.time); 
Editable i = ti.getText(); 
String p=i.toString(); 
long x=Long.parseLong(p); 

final TextView mCounter1TextField=(TextView)findViewById(R.id.counter1); 
final CountDownTimer Counter1 = new CountDownTimer(x, 10) { 
    public void onTick(long millisUntilFinished) { 
     mCounter1TextField.setText(" " + (millisUntilFinished)/ 1000 + ":"); 
    } 

    public void onFinish() { 
     mp3.start();  
     Log.d ("Splash", "LauncherActivity.onCreate - created MediaPlayer"); 
     cancel(); 
    }  
}; 

//Start Button1 
btnstart.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v) { 
     Counter1.start(); 
    } 
}; 
+1

顯示的錯誤是什麼?堆棧跟蹤? – John3136

+1

當我在聲明long x = 0L的情況下添加這個異常時,它在一個吐司中顯示的android運行時錯誤不幸中止了 –

回答

3

沒有一個錯誤去,第一我注意到的事情是,你是不是在parseLong()

long x=0L; 
try { 
    x = Long.parseLong(p); 
} 
catch(NumberFormatException ex) { 
    // TODO: error report or something 
} 
+0

;我得到了另一個錯誤「重複的局部變量」 –

+0

你必須在另一個地方有另一個變量'x'。上面顯示的兩條線都沒有做'長x'意外? – John3136

+0

當我刪除該聲明時,我得到了另一個錯誤和eclipse建議「創建本地變量'x'」 –

0

您正在嘗試將字符串轉換爲整數捕捉NumberFormatException異常,我希望。首先將其轉換爲一個int然後使其變長。