Archief - Android knop

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Shift

Legacy Member
ik wil dit maken:

Consumptie--Prijs----Minder Meer----Aantal Totaal
Pint--------1.20----KNOP----KNOP----0----0
Witte------1.30----KNOP----KNOP----0----0
Cola--------1.20---KNOP----KNOP----0----0

TOTAAL: 0

als ik vb 2 pinten en een cola neem wordt dit:

Consumptie--Prijs----Minder Meer----Aantal Totaal
Pint--------1.20----KNOP----KNOP----2----2.40
Witte------1.30----KNOP----KNOP----0----0
Cola--------1.20---KNOP----KNOP----1----1.20

TOTAAL: 3.60

Kan iemand hier helpen ? Weet niet goe hoe ik de knoppen kan linken aan de prijzen van een consumptie

forloRn_

Legacy Member
Wat lukt er precies niet? Aangezien je daar de prijzen toekent aan je TextViews weet je op het moment dat je je views creëert wat de prijzen zijn, en dan moet je die prijzen ook gebruiken in de OnClickListeners die je toekent aan je knoppen.

Shift

Legacy Member
ben er niet zo goed uit om het te laten werken. Dat de prijs er staat van elk product is louter informatief. Als ik op een knop druk moet die weten:

Over wat product het gaat
Wat de prijs is van het product
Deze prijs plaatsen in het totaal van product
Het aantal verhogen
Meedere aantallen van zelfde product moeten worden toegevoegd aant totaal van product
Alle totalen optellen

Hoe werk ik hier het beste ? Met een DB, Arrays, ... :)

forloRn_

Legacy Member
Dat maakt weinig uit, steek dat achter een interface en gebruik voorlopig een array om het jezelf gemakkelijk te maken. De enige method die je nodig hebt is: geef alle producten, inclusief naam en prijs. Loop over het resultaat in je onCreate() en voeg TextViews en Buttons+OnClickListeners toe aan de content view van je Activity.

Shift

Legacy Member
forloRn_ zei:
Dat maakt weinig uit, steek dat achter een interface en gebruik voorlopig een array om het jezelf gemakkelijk te maken. De enige method die je nodig hebt is: geef alle producten, inclusief naam en prijs. Loop over het resultaat in je onCreate() en voeg TextViews en Buttons+OnClickListeners toe aan de content view van je Activity.

Ok zal dit proberen.
Een 2 dimensionale array of 2 verschillende arrays ?

En voor de kommagetallen wat voor array gebruik ik hier het beste, String en omvormen ?

forloRn_

Legacy Member
Nee, een eendimensionale array van Product objects, met als properties name en price (bijvoorbeeld een int die de prijs in cent voorstelt).

Shift

Legacy Member
Even een update:

Object consumptie

package com.example.testing.test;

/**
* Created by wouter on 4/10/2014.
*/
public class Consumptie extends MainActivity{

private String naam;
private int prijs;

public Consumptie(String n, int p){
naam = n;
prijs = p;
}

public String getNaam() {
return naam;
}

public int getPrijs() {
return prijs;
}

public void setPrijs(int prijs) {
this.prijs = prijs;
}

public void setNaam(String naam) {
this.naam = naam;
}
}

Aanmaken array:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Consumptie[] lijstAf = CreateArray();


setContentView(R.layout.activity_main);



}

public Consumptie[] CreateArray(){

Consumptie pint = new Consumptie("pint", 120);
Consumptie duvel = new Consumptie("duvel", 200);
Consumptie cola = new Consumptie("cola", 120);

Consumptie[] lijst = {pint, duvel, cola};
return lijst;
}

Nu nog layout maken :)
Best met een tabel werken ?

Shift

Legacy Member
Lijkt me niet te lukken

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Consumptie[] lijstAf = CreateArray();

for (int i = 0; i < lijstAf.length; i++){

TableRow tr = new TableRow(this);

TextView naamText = new TextView (this);
TextView prijsText = new TextView(this);

naamText.setText(lijstAf.getNaam());
prijsText.setText(lijstAf.getPrijs());

tr.addView(naamText);
tr.addView(prijsText);

}

Recipe4hate

Legacy Member
Xamarin zie ik?
layout doe je in dit geval best met een linearlayout panel.


Edit: wups toch wel heel scheel gekeken :-)

Shift

Legacy Member
Wat doe je exact in die Klasse Order ?

BTW, ik werk met Android Studio.

Maar ik merk dat dit mijn petje te boven gaat, heb de skillz er niet voor.

Zeer knap gedaan ! :)

forloRn_

Legacy Member
Order houdt gewoon de huidige bestelling bij: per product het aantal.

Voor wat het waard is: ik vind Android ook niet simpel, ondanks jaren professionele ervaring als Java-programmeur.

Shift

Legacy Member
Het was een leuke bezigheid maar ga het laten voor wat het is.

Bedankt voor de hulp :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan