Budget App (Haben-->grün, Soll-->rot)

  • 3 Antworten
  • Neuester Beitrag
Diskutiere Budget App (Haben-->grün, Soll-->rot) im Android App Entwicklung im Bereich Betriebssysteme & Apps.
X

xben89

Neues Mitglied
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
 
S

swordi

Lexikon
xben89 schrieb:
er kommt in die if schleife rein
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
 
kleinerkathe

kleinerkathe

Experte
Was genau ist den eine if-Schleife? :)
 
X

xben89

Neues Mitglied
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:
Ähnliche Themen - Budget App (Haben-->grün, Soll-->rot) Antworten Datum
6
2
3