綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 取得textview的內容,然後作運算再送回去

[複製連結] 查看: 1282|回覆: 8|好評: 1
跳轉到指定樓層
樓主
kansas73 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2014-8-1 17:17

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
首先先謝謝各位先知們能夠點進來看我的帖!
我的問題是這樣的:
一開始當我按下Abutton時會送一個double 的數據給一個textview來顯示
如下,TemRoad就是我所宣告的一個double數據
  1. txttem.setText(TemRoad+"℃");
複製代碼

然後現在我要按下Bbutton來進行運算
當我按下Bbutton時,我要先取得textview裡面的值(預設的話就是取得TemRoad)
由於textview是字串所以我轉成double來進行運算
可是我只要按下Bbutton就會出錯,請問各位先知們可以幫我看看有那些邏輯上是錯誤的嗎??
Bbutton裏頭的程式碼如下:
  1. String CF = txttem.getText().toString();
  2.                         double TemCF = Double.valueOf(CF).doubleValue();
  3.                         txttem.setText(TemCF*(9.0/5.0)+32+"˚F");               
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
emulators | 收聽TA | 只看該作者
發表於 2014-8-5 09:49
錯誤訊息是?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-5 14:08
本帖最後由 kansas73 於 2014-8-6 15:18 編輯


TO:emulators大大!!
後來我自己有改變程式碼,但還是出現了問題
改變的程式如下:

  1. public void onClick(View v){       
  2.                         btnCF.setEnabled(false);
  3.                         btnFC.setEnabled(true);
  4.                         TemCF=Double.parseDouble(txttem.getText().toString());
  5.                         Temcf=TemCF*(9.0/5.0)+32;
  6.                         txttem.setText(String.format("%.01f", Temcf)+"˚F");                               
  7.         }
複製代碼

當我按下這個按鈕就會強制關閉,但我在另一台電腦打類似的指令卻沒有錯誤,
後來發現好像是 TemCF=Double.parseDouble(txttem.getText().toString());這一行
出了錯誤,LOGCAT如下:
08-06 07:05:27.534: E/AndroidRuntime(950): FATAL EXCEPTION: main
08-06 07:05:27.534: E/AndroidRuntime(950): java.lang.NumberFormatException:
08-06 07:05:27.534: E/AndroidRuntime(950):         at org.apache.harmony.luni.util.FloatingPointParser.parseDblImpl(Native Method)
08-06 07:05:27.534: E/AndroidRuntime(950):         at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:283)
08-06 07:05:27.534: E/AndroidRuntime(950):         at java.lang.Double.parseDouble(Double.java:287)
08-06 07:05:27.534: E/AndroidRuntime(950):         at heat.glo.Main$6.onClick(Main.java:203)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.view.View.performClick(View.java:2408)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.view.View$PerformClick.run(View.java:8816)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.os.Handler.handleCallback(Handler.java:587)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.os.Handler.dispatchMessage(Handler.java:92)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.os.Looper.loop(Looper.java:123)
08-06 07:05:27.534: E/AndroidRuntime(950):         at android.app.ActivityThread.main(ActivityThread.java:4627)
08-06 07:05:27.534: E/AndroidRuntime(950):         at java.lang.reflect.Method.invokeNative(Native Method)
08-06 07:05:27.534: E/AndroidRuntime(950):         at java.lang.reflect.Method.invoke(Method.java:521)
08-06 07:05:27.534: E/AndroidRuntime(950):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-06 07:05:27.534: E/AndroidRuntime(950):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-06 07:05:27.534: E/AndroidRuntime(950):         at dalvik.system.NativeStart.main(Native Method)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
sky1988a | 收聽TA | 只看該作者
發表於 2014-8-8 10:07
textview裡面要確定不能是空值,是空直一定錯,不然就換成Double.valueOf試試看吧
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-8 10:49
sky1988a 發表於 2014-8-8 10:07
textview裡面要確定不能是空值,是空直一定錯,不然就換成Double.valueOf試試看吧

謝謝sky1988a的回覆:
textview已經確定是有數值的,另外我也有試過Double.valueOf
但還是一樣的錯誤訊息,不知道還有沒有可能是其他問題
再麻煩提點了!!!謝謝你
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
sky1988a | 收聽TA | 只看該作者
發表於 2014-8-8 16:04
TemRoad 是個數值嗎,我試過你onclick裡的語法沒錯,再不行可能就要提供全部code,再幫你看一下
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 1 反對 0

使用道具 舉報

7
CarolHsieh | 收聽TA | 只看該作者
發表於 2014-8-11 16:12
下try catch之後
PO錯誤訊息上來看看吧
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-11 23:09
sky1988a 發表於 2014-8-8 16:04
TemRoad 是個數值嗎,我試過你onclick裡的語法沒錯,再不行可能就要提供全部code,再幫你看一下 ...

to sky1988a:先謝謝您的意見!!
後來我發現我出了一個大問題!!
就是我在最後txttem.setText(String.format("%.01f", Temcf)+"˚F");
我的txttem後面還有加一個字串"˚F"
難怪會一直error~
謝謝你幫我一起討論出問題

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-11 23:11
CarolHsieh 發表於 2014-8-11 16:12
下try catch之後
PO錯誤訊息上來看看吧

我在除錯的時候有用try catch
但問題還是在於我要處理的資料裡面多加了字串
謝謝你的寶貴意見哦!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則