2016-11-24 64 views
-1

我試圖讓系統時間,當我把它放在一個textView作爲字符串一切正常,但是當我將字符串轉換爲整數時,它使我的應用程序強制關閉! 這是我的代碼:將字符串轉換爲整數使我的應用程序強制關閉

TextView texttime = (TextView) findViewById(R.id.txttime); 

    TimeZone tz = TimeZone.getTimeZone("GMT+03:30"); 
    Calendar c = Calendar.getInstance(tz); 
    String time = String.format("%02d" , c.get(Calendar.HOUR_OF_DAY))+ 
    String.format("%02d" , c.get(Calendar.MINUTE)); 

    Integer itime = Integer.valueOf(time); 
    int mtime = (itime-2350); 
    texttime.setText(mtime); 

什麼問題?

+3

您能否提供錯誤信息? –

回答

1

你在這裏做出了非常奇怪的轉換 - 那根本沒有意義。

我很肯定setText()預計字符串。但是你想傳遞一個原始的int到它。

你可以看到 - 你已經使用過一個字符串格式化程序來將一個Calender thingy變成一個字符串。那麼爲什麼你然後想把它變成一個整數,然後你變成一個int ?!

長話短說:你應該退一步說明你想要產生什麼樣的價值以及應該去哪裏!

0

您要轉換爲整數的值是無效的,因爲這個字符串連接就沒有任何意義

String time = String.format("%02d" , c.get(Calendar.HOUR_OF_DAY))+ 
    String.format("%02d" , c.get(Calendar.MINUTE)); 

讓你的時間是2:45的可變時間會是這樣的值:2.0045。 00" ,所以你想投的文字不是有效的值

0

所有TextViewsetText方法首先除了String作爲方法的參數,但在這裏要傳遞的整數值。 textView.setText(mtime)

但即使你想這樣做,那麼它可以通過向整數添加一個字符串文字來實現。 textView.setText(""+mtime)