Forum » Programiranje » [Android-Java] Zamenjal razred nato pa NullPointerException
[Android-Java] Zamenjal razred nato pa NullPointerException
draciel ::
Malo se hecam in delam pretvornik za android ki spremeni € v kune ter obratno =). Aplikacijo sem naredil ter je delovala. Vendar je bilo vse nametano v enemu razredu zato sem naredil nov razred, kjer se opravlja samo izračun. Vendar problem je ker ko pritisnem na tipko convert mi Vsili zaprtje aplikacije in Logcat mi javi NullPointerException. Prosim poglejte kje sem ga polomil..
CroToEu Razred
Calculate razred ( kjer se opravi izračun )
CroToEu Razred
package com.eu.calculator; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; public class CroToEur extends Activity { TextView resultView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.cro_to_eur); final ImageButton convert = (ImageButton) findViewById(R.id.converButton); convertButton(convert); } private void convertButton(final ImageButton convert) { resultView = (TextView) findViewById(R.id.resultView); convert.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Calculate now = new Calculate(); now.croToEu(); if(event.getAction() == MotionEvent.ACTION_DOWN) { convert.setImageResource(R.drawable.convert_button_ontouch); checkForEmptyEntry(); } else if (event.getAction() == MotionEvent.ACTION_UP) { convert.setImageResource(R.drawable.convert_button); } return false; } private void checkForEmptyEntry() { if(Calculate.HRKfield.getText() == null || "".equals(Calculate.HRKfield.getText().toString())) { resultView.setText("You left empty field"); } else { resultView.setText(Calculate.HRKfield.getText()+" HRK = "+Calculate.fixDecimal+" EUR"); } } }); } }
Calculate razred ( kjer se opravi izračun )
package com.eu.calculator; import java.math.BigDecimal; import android.app.Activity; import android.widget.EditText; public class Calculate extends Activity { public static EditText HRKfield; //S tem dobimo vrednost iz polja edittext public static double EUR = 0.133;//drži vrednost public static Double HRK; // Možnost uporabe double za parsing public static double result; // rezultat public static BigDecimal fixDecimal; // rezultat pretvori na decimalko public BigDecimal croToEu() { HRKfield = (EditText) findViewById(R.id.enterField); try { HRK = Double.parseDouble(HRKfield.getText().toString()); //tukaj dobimo čisto številko, ki jo uporabnik vnese v polje result = HRK * EUR; fixDecimal = new BigDecimal(result); fixDecimal = fixDecimal.setScale(2, BigDecimal.ROUND_HALF_UP); } catch (NumberFormatException e) { } return fixDecimal; } }
Spura ::
Calculate je v celoti napacno narejen in uporabljan. NullPointerException ti natancno pove v kateri vrstici je napaka.
Predvidevam da ti
Predvidevam da ti
HRK = Double.parseDouble(HRKfield.getText().toString());vrze exception ker je HRKfield null.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Android - ZačetnikOddelek: Programiranje | 1781 (1106) | hurlimannxt |
» | android črtaOddelek: Programiranje | 2399 (1670) | g333kk |
» | [android] vstavljanje slikeOddelek: Programiranje | 1240 (1137) | messi |
» | [android] crashOddelek: Programiranje | 1338 (1147) | messi |
» | [Android] Kaj metoda vrne?Oddelek: Programiranje | 920 (758) | virusss8 |