Hilfe bei App

  • 9 Antworten
  • Letztes Antwortdatum
J

JonasW

Gast
Hallo bin neu in der Android-Entwicklung und bin gerade dabei eine App zu schreiben, welche mir meinen Kontostand anzeigt, den ich davor eingegeben habe.

Nun habe ich 3 Activities:
Die erste lässt mich einen Kontonamen eintragen
Die zweite meinen Kontostand
Und die dritte ist die "Haupt"-Activity welche mir den Namen, den Betrag ausliest und zwei Buttons mit Plus und Minus

Nun empfange ich per getIntent die zwei Strings und habe sie mit zwei Textviews per Code implementiert. Doch wenn ich meine Applikation starte bekomme ich nur einen String zu lesen.

Hier der Code:


package com.example.kontostand;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Gravity;
import android.view.Menu;
import android.widget.TextView;

public class HomeActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);

Intent intent1 = getIntent();

String name = intent1.getStringExtra(NameAddActivity.konto_name1);

String value = intent1.getStringExtra(ValueAddActivity.start_value1);



TextView textView = new TextView (this);
textView.setTextSize(20);
textView.setText(name);
textView.setGravity(Gravity.CLIP_VERTICAL);
textView.setGravity(Gravity.CENTER_HORIZONTAL);




TextView textView2 = new TextView (this);
textView2.setTextSize(40);
textView2.setText(value);
textView2.setGravity(Gravity.CENTER_HORIZONTAL);


setContentView (textView);
setContentView (textView2);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
}

}
 
und welchen String? Den Kontostand?
 
Du überschreibst mit dem 2. setContentView den ganzen Bildschirm.

Bau dir ein xml-Layout für die Activity mit den beiden TextViews.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Ja ich möchte die Strings (Kontostand, Kontoname) angezeigt bekommen, wobei ich aber im Moment nur den Kontostand-String angezeigt bekomme
 
ok, dann versuch mal das du die Strings (Name, Kontostand) in die SharedPreferences speicherst, und wenn du deine Hauptactivity aufrufst holst du dir diese Strings daraus.
 
Das wird auch nicht helfen. Die werden wahrscheinlich beide richtig übergeben.

Aber wenn die eine View die andere überschreibt kann nur eine angezeigt werden.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
wieso er hat doch in der Hauptactivity zwei Felder die die beiden Strings anzeigen sollen
 
Aber beide werden als Bildschirminhalt angezeigt, und dann sieht man eben nur die als 2. gesetzte.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
kann leider gerade nur raten worauf du hinaus willst.

Wenn die beiden Werte in den Shared Preferences liegen hat er auch beide Werte und kann diese beliebig an jeder Stelle auch verwenden
 
So, jetzt kann ich das mal ordentlich erläutern:

Das Problem liegt hier:
Code:
setContentView (textView);
        setContentView (textView2);

Mit setContentView(View view) wird der Bildschirminhalt der Avtivity gesetzt.
Das heißt, dass jedes mal, wenn diese Methode aufgerufen wird, wird die angegebene View als alleiniger Bildschirminhalt gesetzt.
Im Normalfall hat man ja eine xml-Datei mit dem entsprechenden Layout, welches dann über setContentView als Inhalt gesetzt wird.

Hier werden aber zwei TextViews dynamisch erstellt, weshalb das anders abläuft.

Um mehr als eine View dynamisch zum Bildschirm hinzuzufügen muss zuerst ein ParentView erstellt werden, also bspw ein LinearLayout.
In dieses LinearLayout kommen dann beide TextViews mit addView.
Zu guter Letzt wird dann setContentView mit dem ParentView aufgerufen.

Um also jetzt beide TextViews und damit beide Werte anzeigen zu können muss entweder ein Layout in einer xml-Datei erstellt werden, oder eben wie oben beschrieben das Layout dynamisch erstellt werden.


Ich hoffe das macht das ganze jetzt klar ;)
 

Ähnliche Themen

4
Antworten
10
Aufrufe
1.067
jogimuc
J
G
Antworten
0
Aufrufe
107
Gerdchen07
G
G
Antworten
1
Aufrufe
370
Gerdchen07
G
G
Antworten
13
Aufrufe
581
Gerdchen07
G
L
Antworten
2
Aufrufe
477
Lexub
L
Zurück
Oben Unten