1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. xben89, 07.04.2011 #1
    xben89

    xben89 Threadstarter Neuer Benutzer

    Hallo zusammen,

    wie der name schon sagt, arbeite ich gerade an einem budget app. Ich möchte dafür sorgen, dass negative beträge rot angezeigt werden und postivie grün. Ich hab bereits herumprobiert, aber bisher noch nicht auf eine lösung gestoßen..folgendes habe ich bereits:

    Folgendermaßen werden bereis alle kontodaten aus der datenbank ausgelesen und angezeigt:

    Code:
    public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    
    		Cursor c = Konto.getKontosMitKontostand();
    
    		startManagingCursor(c);
    
    		// Set Columns to bind
    		String[] columns = new String[] { Konto.DBKEY_KONTO_KN,
    				Konto.QUERY_KONTOSTAND };
    
    		// Views to bind to
    		int[] bindTo = new int[] { R.id.tv_konto, R.id.tv_kontostand };
    	
    		// Bind Data to ListView
    		SimpleCursorAdapter sAdapter = new SimpleCursorAdapter(this,
    				R.layout.listview_konto, c, columns, bindTo);
    
    		Cursor cursor = sAdapter.getCursor();
    		this.setListAdapter(sAdapter);
    
    		sAdapter.notifyDataSetChanged();
    		getListView().setOnCreateContextMenuListener(this);
    	}
    
    das habe ich bereits als code, der im moment zusammenhangslos steht zum oberen: mit der while schleife und der if bediengung bin ich in der lage aus dem obigen cursor die kontostände auszulesen und zwischen größer und kleiner null aufzuteilen..laut debug modus klappt das ganze auch. er kommt in die if schleife rein nun wird beim textview standText jedoch null zurückgeliefert so dass das ganze gar nicht erst startet.. also wo und wie genau muss ich das oben einbinden damit auf die textview zugriffen werden kann und diese verändert?
    Code:
    while(c.moveToNext()){
    	double wert = c.getDouble(2);
    	if (wert > 0){
    	TextView standText = (TextView) findViewById(R.id.tv_txt_stand);
    				this.setContentView(standText);
    				   standText.setTextColor((getResources().getColor(R.color.red)));
    			}
    	if (wert == 0){
    	TextView standText =  (TextView) findViewById(R.id.tv_txt_stand);
    				this.setContentView(standText);
    			standText.setTextColor((getResources().getColor(R.color.orange)));
    	this.setContentView(R.layout.listview_konto);
    			}
    		}
    
    
    danke schonmal für eure bemühungen

    lg benny
     
  2. swordi, 07.04.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    aufpassen und grundlagen lernen

    developer.android.com

    ich denke für den anfang bist du da gut aufgehoben.

    oder auch nochmal "java ist auch eine insel" lesen
     
  3. kleinerkathe, 07.04.2011 #3
    kleinerkathe

    kleinerkathe Android-Lexikon

    Was genau ist den eine if-Schleife? :)
     
  4. xben89, 07.04.2011 #4
    xben89

    xben89 Threadstarter Neuer Benutzer

    Mensch leute, man kann sich ja mal verschreiben wenn man im Streß ist..
    Der Code steht im Mittelpunkt!!

    Ein produktiverer Beitrag, der zur Lösung der dargestellten Problemstellung beigetragen hätte, wäre sicherlich hilfreicher als auf der if "schleife" herumzureiten...

    übringes läuft das ding jetzt, falls jemand interessiert ist, kann er sich ja mal folgendes anschauen:

    Code:
    
    package de.budgeapp.views;
    
    import de.budgeapp.R.color;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    public class SaldoView extends TextView{
    	
    	public SaldoView(Context ctx, AttributeSet attr)
    	{
    		super(ctx,attr);
    		//On Instantiate
    		try
    		{
    			if(Double.parseDouble((String)this.getText()) >= 0)
    			{
    				super.setTextColor(Color.GREEN);
    			}
    			else
    			{
    				super.setTextColor(Color.RED);
    			}
    			
    			super.setText(this.getText() +" EUR");
    			
    		}
    		catch(Exception ex)
    		{
    			
    		}
    	}
    	
    	@Override
    	public void onDraw(Canvas canvas)
    	{
    		super.onDraw(canvas);
    		//onDraw
    		try
    		{
    			if(Double.parseDouble((String)this.getText()) >= 0)
    			{
    				super.setTextColor(Color.GREEN);
    			}
    			else
    			{
    				super.setTextColor(Color.RED);
    			}
    			
    			super.setText(this.getText() +" EUR");
    			
    		}
    		catch(Exception ex)
    		{
    			
    		}
    	}
    	
    	@Override
    	public void onMeasure(int widthSpec, int heightSpec)
    	{
    		super.onMeasure(widthSpec, heightSpec);
    		//setMeasuredDimension(measuredWidth, measuredHeight);
    	}
    
    	
    	
    }
    
    
    lg benny
     
    Zuletzt bearbeitet: 07.04.2011
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Problem beim Geofencing in einer Android App Android App Entwicklung Heute um 15:01 Uhr
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung Samstag um 14:20 Uhr
[OFFEN] APP Baukasten oder individuell? Android App Entwicklung 10.11.2017
[OFFEN] Feedback Text für die App auf Server Hochladen Android App Entwicklung 28.10.2017
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung 13.10.2017
[ERLEDIGET] App über href starten Android App Entwicklung 28.09.2017
[OFFEN] Kostenpflichtige App für Beta-Test hochladen Android App Entwicklung 13.09.2017
[OFFEN] App startet nicht... Android App Entwicklung 10.09.2017
[OFFEN] Sind Notifications in einer Webview App möglich? Android App Entwicklung 10.09.2017
Du betrachtest das Thema "Budget App (Haben-->grün, Soll-->rot)" im Forum "Android App Entwicklung",