2012-10-19 39 views
0

我一直在試圖讓這個計劃的工作,但由於某種原因,它不會計算複合利息。一點幫助,將不勝感激。注意我沒有完成if語句,無論輸入到compoundInterestEditText字段中的任何值如何。我希望它能與我所擁有的一起工作。 endValueEditText甚至不會更新。複利計劃將不計算

Main.java:

package com.example.compoundinterest; 

import android.os.Bundle; 
import android.text.Editable; 
import android.text.TextWatcher; 
import android.widget.EditText; 
import android.widget.Spinner; 
import android.app.Activity; 


public class Main extends Activity { 

    //contants used when saving and restoring state 
     private static final String CAPITAL_TOTAL = "CAPITAL_TOTAL"; 
     private static final String INTEREST_RATE = "INTEREST_RATE"; 
     private static final String YEARS_GROW = "YEARS_GROW"; 
     private static final String ANNUAL_ADDITION = "ANNUAL_ADDITION"; 
     private static final String COMPOUND_RATE = "COMPOUND_RATE"; 
     private static final String END_VALUE = "END_VALUE"; 

    //double values for calculations 
    private double currentCapital; 
    private double currentInterestRate; 
    private double currentYearsToGrow; 
    private double currentAnnualAddition; 
    private double currentCompoundInterest; 
    private double currentEndValue; 

     //declare variables to be used 
     private EditText capitalEditText; 
     private EditText interestRateEditText; 
     private EditText yearsToGrowEditText; 
     private EditText annualAdditionEditText; 
     private EditText compoundInterestEditText; 
     private EditText endValueEditText; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //check if app has been started or being restored from memory 
     if(savedInstanceState == null) { 
      currentCapital = 0.0;//initialize the capital amount to zero 
      currentInterestRate = 0;//initialize the interest rate to zero 
      currentYearsToGrow = 0;//initialize the years to grow to zero 
      currentAnnualAddition = 0;//initialize the annual addition to zero 
      currentCompoundInterest = 0;//initialize the interest rate to zero 
      currentEndValue = 0;//initialize the end value to zero 
     }//end if 

     else//app is being restored from memory, not executed from scratch 
     { 
      //initialize the capital amount to saved amount 
      currentCapital = savedInstanceState.getDouble(CAPITAL_TOTAL); 

      //initialize interest rate to saved amount 
      currentInterestRate = savedInstanceState.getInt(INTEREST_RATE); 

      //initialize years to grow amount to saved amount 
      currentYearsToGrow = savedInstanceState.getInt(YEARS_GROW); 

      //initialize annual addition amount to saved amount 
      currentAnnualAddition = savedInstanceState.getInt(ANNUAL_ADDITION); 

      //initialize compound interest rate amount to saved amount 
      currentCompoundInterest = savedInstanceState.getInt(COMPOUND_RATE); 

      //initialize end value amount to saved amount 
      currentEndValue = savedInstanceState.getInt(END_VALUE); 

     }//end else 




     //get references to EditText fields 
     capitalEditText = (EditText) findViewById(R.id.capitalEditText); 
     interestRateEditText = (EditText) findViewById(R.id.interestRateEditText); 
     yearsToGrowEditText = (EditText) findViewById(R.id.yearsToGrowEditText); 
     annualAdditionEditText = (EditText) findViewById(R.id.annualAdditionEditText); 
     compoundInterestEditText = (EditText) findViewById(R.id.compoundInterestEditText); 
     endValueEditText = (EditText) findViewById(R.id.endValueEditText); 

     endValueEditText.addTextChangedListener(endValueEditTextWatcher); 




    }//end of method onCreate 


    //function for updating the values as the numbers entered by user are changed 
    private void updateValue() { 

     if(currentCompoundInterest == 1) { 


      double finalCalculation = currentCapital * (1 + currentInterestRate); 
      endValueEditText.setText(String.format("%.02f", finalCalculation)); 
     } 

     else if(currentCompoundInterest ==2) { 

     } 

     else if(currentCompoundInterest==3) { 

     } 

     else if(currentCompoundInterest==4) { 

     } 



    }//end of updateValue() function 


    //main function to aid in updating the user input 
    private TextWatcher endValueEditTextWatcher = new TextWatcher() { 

     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      //convert billEditText's text to a double 
      try { 
       currentCapital = Double.parseDouble(s.toString()); 
       currentInterestRate = Double.parseDouble(s.toString()); 
       currentYearsToGrow = Double.parseDouble(s.toString()); 
       currentAnnualAddition = Double.parseDouble(s.toString()); 
       currentCompoundInterest = Double.parseDouble(s.toString()); 
       currentEndValue = Double.parseDouble(s.toString()); 
      }//end try 
      catch (NumberFormatException e) 
      { 
       currentCapital = 0.0;//default if an exception occurs 
       currentInterestRate = 0.0;//default if an exception occurs 
       currentYearsToGrow = 0.0;//default if an exception occurs 
       currentAnnualAddition = 0.0;//default if an exception occurs 
       currentCompoundInterest = 0.0;//default if an exception occurs 
       currentEndValue = 0.0;//default if an exception occurs 
      }//end catch 

      //run updateValue Function 
      updateValue(); 

     }//end of onTextChanged inner onTextChanged 





     public void afterTextChanged(Editable s) 
     { 
     }//end method afterTextChanged 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) 
     { 
     }//end method beforeTextChanged 

    };//end of endValueEditTextWatcher 

}//end of Compound Interest function 

的main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TableRow 
     android:id="@+id/tableRow7" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 






     <TextView 
      android:id="@+id/instructionsTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingBottom="20dp" 
      android:paddingTop="5dp" 
      android:text="Enter Value to be borrowed or invested:" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textSize="14sp" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 




     <TextView 
      android:id="@+id/capitalTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Capital" /> 



     <EditText 
      android:id="@+id/capitalEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="10" 
      android:inputType="numberDecimal" > 

      <requestFocus /> 
     </EditText> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 




     <TextView 
      android:id="@+id/interestRateTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Interest Rate (%)" /> 




     <EditText 
      android:id="@+id/interestRateEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="10" 
      android:inputType="numberDecimal" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 





     <TextView 
      android:id="@+id/yearsToGrowTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Years To Grow" /> 



     <EditText 
      android:id="@+id/yearsToGrowEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="10" 
      android:inputType="numberDecimal" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 




     <TextView 
      android:id="@+id/annualAdditionTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Annual Addition" /> 



     <EditText 
      android:id="@+id/annualAdditionEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="10" 
      android:inputType="numberDecimal"/> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 




     <TextView 
      android:id="@+id/compoundInterestTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Compound Interest" /> 



     <EditText 
      android:id="@+id/compoundInterestEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="10" /> 

    </TableRow> 



    <TableRow 
     android:id="@+id/tableRow6" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingTop="50dp" > 



<TextView 
    android:id="@+id/endValueTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:paddingTop="20dp" 
    android:text="End Value" /> 






     <EditText 
      android:id="@+id/endValueEditText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:clickable="false" 
      android:ems="10" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:inputType="numberDecimal" /> 

    </TableRow> 

</TableLayout> 

的logcat:

10-19 15:30:59.251: E/CircleShortcutWidget(641): density = 320 
10-19 15:30:59.251: E/CircleShortcutWidget(641): pkg name =com.android.contacts, activityName=com.android.contacts.activities.DialtactsActivity 
10-19 15:30:59.251: D/CircleShortcutWidget(641): mIconWidth =0 
10-19 15:30:59.251: D/PhoneStatusBar(777): disable: < expand icons alerts ticker system_info BACK* HOME RECENT CLOCK* > 
10-19 15:30:59.261: D/CircleShortcutWidget(641): BitmapDrawable 
10-19 15:30:59.261: E/CircleShortcutWidget(641): pkg name =com.android.mms, activityName=com.android.mms.ui.ConversationComposer 
10-19 15:30:59.261: D/CircleShortcutWidget(641): mIconWidth =0 
10-19 15:30:59.261: D/CircleShortcutWidget(641): BitmapDrawable 
10-19 15:30:59.261: E/CircleShortcutWidget(641): pkg name =com.sec.android.widgetapp.diotek.smemo, activityName=com.sec.android.widgetapp.q1_penmemo.MemoListActivity 
10-19 15:30:59.261: D/CircleShortcutWidget(641): mIconWidth =0 
10-19 15:30:59.261: D/CircleShortcutWidget(641): BitmapDrawable 
10-19 15:30:59.261: E/CircleShortcutWidget(641): pkg name =com.sec.android.app.camera, activityName=com.sec.android.app.camera.Camera 
10-19 15:30:59.261: D/CircleShortcutWidget(641): mIconWidth =0 
10-19 15:30:59.261: D/CircleShortcutWidget(641): BitmapDrawable 
10-19 15:30:59.261: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.271: D/CircleLockScreen(641): onRefreshBatteryInfo() showPatteryInfo: true pluggedIn: true batteryLevel: 76 
10-19 15:30:59.271: D/ClockWidget(641): refreshTime() 
10-19 15:30:59.281: D/ClockWidget(641): TTS Message = It is 3 : 30 PM, Friday, October 19 
10-19 15:30:59.281: W/LockPatternKeyguardView(641): Couldn't find transport control widget 
10-19 15:30:59.281: D/ClockWidget(641): refreshTime() 
10-19 15:30:59.291: D/ClockWidget(641): TTS Message = It is 3 : 30 PM, Friday, October 19 
10-19 15:30:59.291: D/ClockWidget(641): isServiceEnable = false cityId = cityId:347628 
10-19 15:30:59.291: D/ClockWidget(641): Weather Demon is not running, Set visibility to GONE 
10-19 15:30:59.301: E/LockPatternKeyguardView(641): mResetWakeLock.release() 
10-19 15:30:59.311: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.321: D/KeyguardUpdateMonitor(641): handleClockVisibilityChanged() 
10-19 15:30:59.321: D/KeyguardViewMediator(641): adjustStatusBarLocked: mShowing=true mHidden=false isSecure=false --> flags=0x1200000 
10-19 15:30:59.331: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.331: D/KeyguardUpdateMonitor(641): handleClockVisibilityChanged() 
10-19 15:30:59.331: D/KeyguardViewMediator(641): adjustStatusBarLocked: mShowing=true mHidden=false isSecure=false --> flags=0x1200000 
10-19 15:30:59.331: D/STATUSBAR-StatusBarManagerService(641): manageDisableList what=0x1200000 pkg=android 
10-19 15:30:59.331: D/STATUSBAR-StatusBarManagerService(641): manageDisableList what=0x1200000 pkg=android 
10-19 15:30:59.351: D/memalloc(331): ion: Allocated buffer base:0x439ad000 size:3674112 fd:11 
10-19 15:30:59.351: D/memalloc(641): ion: Mapped buffer base:0x65c51000 size:3674112 offset:0 fd:386 
10-19 15:30:59.371: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.371: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.371: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.381: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:30:59.381: D/memalloc(331): ion: Freeing buffer base:0x449ea000 size:1884160 fd:35 
10-19 15:30:59.381: D/memalloc(331): ion: Freeing buffer base:0x446ca000 size:3276800 fd:37 
10-19 15:30:59.381: I/Adreno200-EGLSUB(777): <ConfigWindowMatch:2078>: Format RGBA_8888. 
10-19 15:30:59.391: D/memalloc(331): ion: Allocated buffer base:0x446ca000 size:3485696 fd:35 
10-19 15:30:59.401: D/memalloc(331): ion: Allocated buffer base:0x44abd000 size:3768320 fd:37 
10-19 15:30:59.401: D/memalloc(777): ion: Mapped buffer base:0x6022d000 size:3485696 offset:0 fd:103 
10-19 15:30:59.411: D/memalloc(10083): ion: Mapped buffer base:0x5ce44000 size:3768320 offset:0 fd:52 
10-19 15:30:59.441: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.441: I/Adreno200-EGLSUB(331): <GetImageAttributes:1158>: RGBX_8888 
10-19 15:30:59.441: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.491: D/dalvikvm(777): GC_FOR_ALLOC freed 2139K, 20% free 21315K/26595K, paused 68ms 
10-19 15:30:59.562: D/memalloc(331): ion: Allocated buffer base:0x4563a000 size:3485696 fd:48 
10-19 15:30:59.562: D/memalloc(777): ion: Mapped buffer base:0x60580000 size:3485696 offset:0 fd:106 
10-19 15:30:59.562: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.562: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:30:59.562: D/memalloc(331): ion: Freeing buffer base:0x427ad000 size:3276800 fd:45 
10-19 15:30:59.562: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.562: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.562: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.572: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.572: D/memalloc(331): ion: Allocated buffer base:0x421c7000 size:94208 fd:45 
10-19 15:30:59.572: D/memalloc(331): ion: Freeing buffer base:0x42312000 size:163840 fd:36 
10-19 15:30:59.572: D/memalloc(777): ion: Mapped buffer base:0x5dd63000 size:94208 offset:0 fd:100 
10-19 15:30:59.572: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.582: W/SurfaceFlinger(331): id=19405(2764) createSurface (1440x1280),-1 flag=20000 
10-19 15:30:59.582: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.582: I/Adreno200-EGLSUB(331): <GetImageAttributes:1088>: RGB_565 
10-19 15:30:59.602: W/SurfaceFlinger(331): id=19406(2765) createSurface (720x2560),-1 flag=20000 
10-19 15:30:59.612: D/memalloc(331): ion: Allocated buffer base:0x427ad000 size:3674112 fd:36 
10-19 15:30:59.612: D/memalloc(641): ion: Mapped buffer base:0x65fd2000 size:3674112 offset:0 fd:395 
10-19 15:30:59.612: W/SurfaceFlinger(331): id=19407(2766) createSurface (1440x1280),-1 flag=20000 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19408(2767) createSurface (720x2560),-1 flag=20000 
10-19 15:30:59.632: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.632: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:30:59.632: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19403 Removed idx=11 Map Size=5 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19405 Removed idx=7 Map Size=5 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19403 Removed idx=-2 Map Size=5 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19406 Removed idx=7 Map Size=5 
10-19 15:30:59.632: W/SurfaceFlinger(331): id=19405 Removed idx=-2 Map Size=5 
10-19 15:30:59.642: W/SurfaceFlinger(331): id=19407 Removed idx=7 Map Size=5 
10-19 15:30:59.642: W/SurfaceFlinger(331): id=19406 Removed idx=-2 Map Size=5 
10-19 15:30:59.642: W/SurfaceFlinger(331): id=19408 Removed idx=7 Map Size=5 
10-19 15:30:59.642: W/SurfaceFlinger(331): id=19407 Removed idx=-2 Map Size=5 
10-19 15:30:59.642: W/SurfaceFlinger(331): id=19408 Removed idx=-2 Map Size=5 
10-19 15:30:59.652: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.652: D/memalloc(331): ion: Allocated buffer base:0x4598d000 size:3768320 fd:55 
10-19 15:30:59.652: D/memalloc(10083): ion: Mapped buffer base:0x5d2dc000 size:3768320 offset:0 fd:59 
10-19 15:30:59.662: D/KeyguardViewMediator(641): setHidden false 
10-19 15:30:59.672: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.672: I/Adreno200-EGLSUB(331): <GetImageAttributes:1158>: RGBX_8888 
10-19 15:30:59.722: D/memalloc(331): ion: Allocated buffer base:0x44e55000 size:3485696 fd:64 
10-19 15:30:59.722: D/memalloc(777): ion: Mapped buffer base:0x60a9d000 size:3485696 offset:0 fd:109 
10-19 15:30:59.722: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:30:59.722: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:30:59.992: D/KeyguardUpdateMonitor(641): received broadcast android.intent.action.TIME_TICK 
10-19 15:30:59.992: D/KeyguardUpdateMonitor(641): handleTimeUpdate 
10-19 15:30:59.992: W/AlarmManager(641): FACTORY_ON= 0 
10-19 15:31:00.002: D/STATUSBAR-Clock(777): onReceive() - ACTION_TIME_TICK 
10-19 15:31:00.002: D/STATUSBAR-Clock(777): updateClock :3:31 PM 
10-19 15:31:00.002: D/STATUSBAR-DateView(777): updateClock :10/19/2012 
10-19 15:31:00.052: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:31:00.052: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:31:00.062: D/ClockWidget(641): refreshTime() 
10-19 15:31:00.072: D/ClockWidget(641): TTS Message = It is 3 : 31 PM, Friday, October 19 
10-19 15:31:00.092: D/memalloc(331): ion: Allocated buffer base:0x45d25000 size:3674112 fd:71 
10-19 15:31:00.092: D/memalloc(641): ion: Mapped buffer base:0x66353000 size:3674112 offset:0 fd:400 
10-19 15:31:00.102: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:31:00.112: I/Adreno200-EGLSUB(331): <GetImageAttributes:1102>: RGBA_8888 
10-19 15:31:00.142: E/SMD(327): DCD ON 
10-19 15:31:00.152: D/memalloc(331): ion: Allocated buffer base:0x4614b000 size:3768320 fd:74 
10-19 15:31:00.152: D/memalloc(10083): ion: Mapped buffer base:0x5d674000 size:3768320 offset:0 fd:62 
10-19 15:31:00.162: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:31:00.162: I/Adreno200-EGLSUB(331): <GetImageAttributes:1158>: RGBX_8888 
10-19 15:31:00.763: D/BatteryService(641): update start 
10-19 15:31:00.763: D/KeyguardUpdateMonitor(641): received broadcast android.intent.action.BATTERY_CHANGED 
10-19 15:31:00.763: D/BatteryService(641): level:76 scale:100 status:2 health:2 present:true voltage: 4138 temperature: 289 technology: Li-ion AC powered:false USB powered:true icon:17303135 invalid charger:0 
10-19 15:31:00.763: D/ThermistorObserver(641): mBatteryBRForAMOLED : onReceive() : newTemperature : 289 
10-19 15:31:00.773: E/MTPJNIInterface(6119): In MTPJNIINterface onReceive:android.intent.action.BATTERY_CHANGED 
10-19 15:31:00.773: D/KeyguardUpdateMonitor(641): handleBatteryUpdate 
10-19 15:31:00.773: D/memalloc(331): ion: Allocated buffer base:0x42269000 size:94208 fd:77 
10-19 15:31:00.773: D/memalloc(331): ion: Freeing buffer base:0x4233a000 size:163840 fd:61 
10-19 15:31:00.773: D/memalloc(777): ion: Mapped buffer base:0x5dd95000 size:94208 offset:0 fd:52 
10-19 15:31:00.773: I/Adreno200-EGLSUB(331): <CreateImage:893>: Android Image 
10-19 15:31:00.773: I/Adreno200-EGLSUB(331): <GetImageAttributes:1088>: RGB_565 
10-19 15:31:00.773: D/STATUSBAR-BatteryController(777): onReceive() - ACTION_BATTERY_CHANGED 
10-19 15:31:00.773: D/STATUSBAR-BatteryController(777): onReceive() - level:76 
10-19 15:31:00.773: D/STATUSBAR-BatteryController(777): onReceive() - plugged:2 
10-19 15:31:00.773: D/STATUSBAR-BatteryController(777): onReceive() - BATTERY_STATUS_CHARGING: 
10-19 15:31:01.113: E/MP-Decision(1348): DOWN Ld:59 Ns:1.100000 Ts:190 rq:0.000000 seq:196.000000 
: E/(): Device disconnected 
+1

你發佈了很多內容,但忘了清楚地解釋「不工作」。 – kosa

+0

什麼不起作用?你有錯誤嗎? –

+0

我確實說過什麼不起作用。我說endValueEditText(這是最終複合計算沒有顯示任何值)。 – Dee129

回答

1

我猜你收到一個堆棧溢出異常,因爲setText()電話onTextChanged()其中調用updateValues()哪些調用setText()這呼籲...(一遍又一遍)。只需一個布爾值添加到您的TextWatcher:

private TextWatcher endValueEditTextWatcher = new TextWatcher() { 
    boolean update = false; 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
     update = !update; 
     if(!update) 
      return; 

     ... 
    } 
} 

但我認爲你已經創建了一個奇怪的用戶界面:只有當用戶鍵入一個值endValueEditTextupdateValues()運行。我認爲你應該創建一個標記爲「計算興趣」的按鈕,然後閱讀此Button的OnClickListener中的EditText值。你也應該把endValueEditText改成TextView,因爲用戶調用確實改變了這個值。

+0

是的,我同意,我一直在一本書中遵循一個類似的例子,我一直試圖實現我自己的版本(上圖)。我同意一個計算按鈕要容易得多,但我已經做到了。感謝您的輸入。我非常感激。 – Dee129

+0

如果您認爲任何答案(或問題)有用,您應該點擊向上箭頭讓每個人都知道。如果這個答案解決了你的問題,請點擊對號。如果它不讓我知道我是否可以回答更具體的問題。 – Sam

+0

我試過你的建議,但沒有奏效。 endValueEditText字段仍然沒有顯示任何值,因爲我將值輸入到其他字段中。 – Dee129