Naar content
Trending apps
  • Inbox by Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger

  • Facebook

Trending games
  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

  • The Elder Scrolls: Blades

  • Ghostbusters World

Trending smartphones
  • Microsoft Surface Duo

  • OnePlus 7T Pro

  • Nokia 7.2

  • Xiaomi Mi 9T Pro

  • Samsung Galaxy Note 10 Plus

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #1
  • 18 maart 2014
  • 08:57

http://pastebin.com/z31nKuKY
kijk daar eens, hierbij vergelijk je direct de view id met de button id. Ook doet hij de id van de view en btncalculate in logcat plaatsen (kun je zelf ter controle kijken).
weet niet of het werkt maar zo zou het moeten werken.

AndroidGeert

AndroidGeert

  • Lid sinds 09 november 2011
  • Berichten 1693
  • Reputatie 20
  • #2
  • 18 maart 2014
  • 13:25

Bedankt, maar ik denk dat er iets goed mis gaat.

Hij komt niet eens bij de if-loop want ik krijg ervoor al een force close.
Dit weet ik doordat ik geen Toast te zien krijg.

Heb de float's even weggehaald en er meteen een toast neer gezet.
http://pastebin.com/DyNsCQT1

Verder heb ik 3 aanpassingen gedaan aan jou code:
- import android.util.Log;
- Log.d(“id controle”,“view ='”+view.getId()+“' btnCalculate = ‘”+ btnCalculate.getId()“’”); aangepast.
btnCalculate.getId() veranderd naar mBtnCalculate.getId() (ANDERS HAD IK EEN ERROR)
en achter btnCalculate.getId() een + gezet, omdat hij anders het laatste stukje van de (string?) niet pakte
Log.d(“id controle”,“view ='”+view.getId()+“' btnCalculate = ‘”+ mBtnCalculate.getId()+“’”);

Geert

Bewerkt (18 maart 2014 13:27)

Telefoons:
- OnePlus One
- OnePlus Two

redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #3
  • 18 maart 2014
  • 13:49

sorry voor de kleine foutjes :/
kun je de xml/layout file plaatsen?

AndroidGeert

AndroidGeert

  • Lid sinds 09 november 2011
  • Berichten 1693
  • Reputatie 20
  • #4
  • 18 maart 2014
  • 14:13

Ik weet inmiddels dat de fout zit in het laden van de text van PlainText.

Als ik daar gewoon float euros = (float) 1.00; neer zet, werkt het wel, alleen dan natuurlijk met 1.
Er gaat dus iets fout in: float euros = Float.valueOf(mEtxtAmount.getText().toString());
Bij de properties heb ik deze op numberDecimal staan, dat stond zo ook in de tutorial.

Hier de layout in xml file:
http://pastebin.com/5QZXDzL4

Geert

Edit:

Redbullet alsnog bedankt voor je hulp!

Ik heb het ondertussen zelf opgelost door wat te kloten en met hulp van google.

Hier de hele code: http://pastebin.com/DyNsCQT1

Maar hier ff in het kort de oplossing.

    public void calculateToDollars(View view){
 	    // Log.d("id controle","view ='"+view.getId()+"'   btnCalculate = '"+ mBtnCalculate.getId()+"'");
        
        if(view.getId()== R.id.btnCalculate){
        	EditText text = (EditText)findViewById(R.id.etxtAmount);
        	String value = text.getText().toString();
        	double euros = Double.valueOf(value);
            double dollars =  1.36 * euros;
        	Toast.makeText(this, "€"+ euros +"is evenveel waard als $ "+ dollars, Toast.LENGTH_LONG).show();
        } 
        else{
                 Toast.makeText(this, "Error!", Toast.LENGTH_LONG).show();
        }
   }

Ik gebruik wel double i.p.v. float(Maakt dit iets uit? Vanuit C# gebruik ik ook altijd double ipv float)
En de Log.d snap ik niet helemaal, gelukkig werkt het nu ook zonder die lijn.

Nu op naar de volgende, misschien tot daar!

Geert

Bewerkt (18 maart 2014 14:29)

Telefoons:
- OnePlus One
- OnePlus Two

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren