綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] EditText問題

[複製連結] 查看: 1391|回覆: 9|好評: 0
跳轉到指定樓層
樓主
ricky52_be7 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-4-1 19:33

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

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

x
我自己制了一個BMI的程式,
但不知為什麼,
沒有打字去EditText
之後OnClick後會彈程式
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
george310909 | 收聽TA | 只看該作者
發表於 2012-4-1 20:01
方便貼一下您的程式碼嗎?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| ricky52_be7 | 收聽TA | 只看該作者
發表於 2012-4-1 20:26
本帖最後由 ricky52_be7 於 2012-4-1 20:30 編輯


package bmi.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import android.widget.EditText;

public class BmiActivity extends Activity {
    /** Called when the activity is first created. */
        private TextView output, output2;
        private Button start;
        private EditText input, kgInput;
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        output = (TextView)findViewById(R.id.output);
        output2 = (TextView)findViewById(R.id.output2);
        start = (Button)findViewById(R.id.start);
        input = (EditText)findViewById(R.id.input);
        kgInput = (EditText)findViewById(R.id.kgInput);
        
        
        start.setOnClickListener(newListener);
    }
private Button.OnClickListener newListener = new Button.OnClickListener() {
    public void onClick(View v) {
            double meter = Double.parseDouble(input.getText().toString());
        double kg = Double.parseDouble(kgInput.getText().toString());
            double m2 = (double)meter/100*(double)meter/100;
            double BMI = (double)kg/(double)m2;
           output.setText("BMI="+BMI+"");
           if(BMI < 18.5){
                   output2.setText("體重過輕: BMI < 18.5");
           }else if(BMI >= 18.5 && BMI < 24){
                   output2.setText("正常範圍: 18.5 ≦ BMI <24");
           }else if(BMI >= 24 && BMI < 27){
                   output2.setText("體重過重: 24 ≦ BMI < 27");
           }else if(BMI >= 27 && BMI < 30){
                   output2.setText("輕度肥胖: 27 ≦ BMI < 30");
           }else if(BMI >=30 && BMI <35){
                   output2.setText("中度肥胖: 30 ≦ BMI < 35");
           }else if(BMI >= 35)
                   output2.setText("重度肥胖: BMI ≧ 35");
           }
};
}
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
george310909 | 收聽TA | 只看該作者
發表於 2012-4-1 20:40
你沒有輸入值去EditText
卻強制用getText()
這時getText()會回傳null值給你
但是呢
null值不能轉成double
所以有NumberFormatException(不能轉成數字的Exception)
詳細狀況你看看上一次我回你的Button監聽事件
我就已經幫你寫上了

評分

參與人數 2碎鑽 +2 幫助 +2 技術 +1 收起 理由
ricky52_be7 + 1 + 1 非常讚
dg5268 + 1 + 1 + 1 神人出現了!

查看全部評分

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

使用道具 舉報

5
 樓主| ricky52_be7 | 收聽TA | 只看該作者
發表於 2012-4-1 21:15
george310909 發表於 2012-4-1 20:40
你沒有輸入值去EditText
卻強制用getText()
這時getText()會回傳null值給你

那我想問ArithmeticException是什麼意思?
try和catch又是什麼?
對不起!我是新手,我在研究如何寫APPS,不懂JAVA
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
george310909 | 收聽TA | 只看該作者
發表於 2012-4-1 21:26
ArithmeticException我目前所知的是用在除以0的狀況
你也知道的吧
分母不可以是0
try和catch是專門防一些問題的
例如說
字串轉數字
SQL也有SQLException(全名我忘了)
那個就是針對SQL指令下錯去處理的防呆
印象中SQLite的db檔如果不存在會發生此Exception
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| ricky52_be7 | 收聽TA | 只看該作者
發表於 2012-4-2 20:40
george310909 發表於 2012-4-1 21:26
ArithmeticException我目前所知的是用在除以0的狀況
你也知道的吧
分母不可以是0

但我用了後不是說我用的分母是0
而是BMI=Infinity
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
ploglin | 收聽TA | 只看該作者
發表於 2012-4-3 09:09
我覺得你把 LogCat 中的 Error 貼出來,比較可以知道確實的問題。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
george310909 | 收聽TA | 只看該作者
發表於 2012-4-3 12:07
ricky52_be7 發表於 2012-4-2 20:40
但我用了後不是說我用的分母是0
而是BMI=Infinity

我晚一點測試後再回答您
我最近在準備期中考
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
 樓主| ricky52_be7 | 收聽TA | 只看該作者
發表於 2012-4-3 20:13
ploglin 發表於 2012-4-3 09:09
我覺得你把 LogCat 中的 Error 貼出來,比較可以知道確實的問題。

改了後沒有Error但是過程出不到george310909給我的結果~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

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

本版積分規則