0

まず、stackoverflowコミュニティは控えめに言っても力を与えていると言いたいだけです。現在展開されている最初の2つのアプリを作成しようとしていますが、アフリカにいる間にいくつかのクラスをノックアウトしようとしています。

だから、私はかなり基本的なタンパク質追跡アプリを作っています。私の過度のコメントを許してください、それは私がこのことを理解しようとしているので私の頭をまっすぐに保ちます。

私は以前の問題に対する多くの答えを調べて見つけましたが、これをどのように進めるかわかりません。

AndroidでEditText値を計算する方法は?

私はそれから始めました、そしてそれは素晴らしかったです(ありがとうluvieere)、しかし私が作った編集可能なものは少しおかしくなっていると思います。Eclipseの私のlogcatは、その行と計算方法を呼び出しています。

これはおそらく単純なことですが、私が見たところ、それは非常に広範なエラーであるため、これらのひどいコード行を調べて、どこが間違っているかを確認する必要があります。助けてくれてありがとう。質問をするのは初めてなので、怒った担当者を紹介する方法を教えてください。:D

いくつかのコード:

public class anitasProteinTracker extends Activity implements OnClickListener {
    Button btnOverviewSnapshot, btnNomNoms, btnSettingsCalculate;
    EditText etSettingsProteinGoal, etWeight;

    <//random code here//>

    btnSettingsCalculate = (Button) findViewById(R.id.btnSettingsCalculate);
    btnSettingsCalculate.setOnClickListener(this);

    <//random code here//>

public void onClick(View v) {

    switch(v.getId()){

    <//random code here//>

    case R.id.btnSettingsCalculate:

        //clicking this will find the value and set it to the goal edittext
        calcProteinGoal();   <---This line showed up in logcat

        break;

    }
}

private void calcProteinGoal() {
    // TODO Auto-generated method stub
    Editable etWeightlbs;    <----this is the other error line in logcat
    double weightlbs = 0;
    double weightkgs = 0;
    double proteinMultiplier;
    double gProtein = 0;

    //get the weight from the user and ensure it's a number
    etWeightlbs = etWeight.getText();

        if (etWeightlbs != null)
            weightlbs = Double.parseDouble(etWeightlbs.toString());
            //convert lbs -> kgs
            weightkgs = weightlbs / 2.2;

    //get spinner value
    //don't know how to do that yet, going to set the variable
    proteinMultiplier = 0.8;

    //set up protein goal   
    gProtein = weightkgs * proteinMultiplier;

    etSettingsProteinGoal.setText(String.valueOf(gProtein));

いくつかのlogcat:

07-03 21:41:14.405: W/dalvikvm(1861): threadid=1: thread exiting with uncaught exception (group=0x4001d7e0)
07-03 21:41:14.429: E/AndroidRuntime(1861): FATAL EXCEPTION: main
07-03 21:41:14.429: E/AndroidRuntime(1861): java.lang.NullPointerException
07-03 21:41:14.429: E/AndroidRuntime(1861):     at com.joemac.anitasprotein.anitasProteinTracker.calcProteinGoal(anitasProteinTracker.java:119)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at com.joemac.anitasprotein.anitasProteinTracker.onClick(anitasProteinTracker.java:102)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.view.View.performClick(View.java:2408)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.view.View$PerformClick.run(View.java:8816)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.os.Handler.handleCallback(Handler.java:587)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.os.Looper.loop(Looper.java:123)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at android.app.ActivityThread.main(ActivityThread.java:4627)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at java.lang.reflect.Method.invokeNative(Native Method)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at java.lang.reflect.Method.invoke(Method.java:521)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-03 21:41:14.429: E/AndroidRuntime(1861):     at dalvik.system.NativeStart.main(Native Method)
4

1 に答える 1

0

そこに表示されていないという理由だけで...EditTextに対してもfindViewByIdを実行していますか?私が見るのはボタンのバインディングだけです。

于 2012-07-03T19:44:05.043 に答える