Daten von mehreren Views auf einer View sammeln

  • 16 Antworten
  • Neuester Beitrag
Diskutiere Daten von mehreren Views auf einer View sammeln im Tipps und Anleitungen zur Code-Entwicklung im Bereich Android App Entwicklung.
Status
Für weitere Antworten geschlossen.
G

Ganriel741

Neues Mitglied
Hallo liebe Dev's,

und zwar beschäftigt mich jetzt schon seit mittlerweile zwei Tagen ein Problem für das ich einfach keine Lösung finde, was aber definitiv machbar ist und eigentlich nicht schwer zu lösen sein kann aber ich bin wirklich kurz vorm verzweifeln

Und zwar habe ich eine Activity A auf welcher mehrere EditText Felder sind,

Die erste EditText bekommt ihren Inhalt von Activity B welche einen Barcodereader hat und das Ergebnis als intent direkt zurück zu Activity A gibt und in die EditText schreibt...

Danach kommen noch weitere EditText welche auf Activity A manuell eingegeben werden


Zum Schluss ist eine TextView welche beim daraufklicken Activity C mit einer ListView öffnet und alle vorherigen Daten inkl. den Wert des Barcodereaders in ein neues Intent packt und alles an Activity C schickt

Auf Activity C ist eine ListView mit Items, wenn man eines davon anklickt wird wieder ein Intent erstellt welches alles zurück an Activity A schickt....

Alles ausser den blöden Barcode, egal wie ich es anstelle mit Schleifen, anderen Variabel egal...

Das eine Intent löscht immer das andere

Also nochmal kurz A empfängt jeweils von B und C ein Intent, das letzte Intent löscht aber immer das vorhergehende selbst wenn ich die vorherigen Daten mitgebe anstatt sie nur von A zu empfangen

Ich hoffe wirklich das mir irgendwer mit einem Tipp auf die Sprünge helfen kann, danke schon einmal
 
J

jogimuc

Stammgast
Hallo

Wenn du in einer Activity Itents von verschiedenen Richtungen mit unterschiedlichen Inhalt empfängst. Solltest du das auch auswerten und entsprechend darauf reagieren.
Benutze einfach ein Key wo du angibst wo der Intent kommt.

Ohne Code werde wir auch hier nicht weiter kommen.
 
G

Ganriel741

Neues Mitglied
package com.gh.goplus.NewFoodPackage;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.SparseArray;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.TextView;

import com.gh.goplus.R;
import com.google.android.gms.vision.CameraSource;
import com.google.android.gms.vision.Detector;
import com.google.android.gms.vision.barcode.Barcode;
import com.google.android.gms.vision.barcode.BarcodeDetector;

import java.io.IOException;



public class NewFoodBarcodeReaderActivity extends AppCompatActivity {


// Variablen
SurfaceView surfaceView;
CameraSource cameraSource;
TextView textView;
BarcodeDetector barcodeDetector;





// OnCreate Methode
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_food_barcode_reader);




// Intitialisieren
surfaceView = (SurfaceView) findViewById( R.id.camerapreview );
textView = (TextView) findViewById( R.id.textView );

barcodeDetector = new BarcodeDetector.Builder( this )
.setBarcodeFormats( Barcode.EAN_13 ).build();

cameraSource = new CameraSource.Builder( this, barcodeDetector )
.setAutoFocusEnabled( true )
.setRequestedPreviewSize( 640, 480 ).build();




surfaceView.getHolder().addCallback( new SurfaceHolder.Callback() {

@override
public void surfaceCreated(SurfaceHolder holder) {
if (checkSelfPermission( Manifest.permission.CAMERA ) != PackageManager.PERMISSION_GRANTED) {
return;
}
try {
cameraSource.start( holder );
}catch (IOException e)
{
e.printStackTrace();
}
}



@override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}



@override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
cameraSource.stop();
}
} );









barcodeDetector.setProcessor( new Detector.Processor<Barcode>() {
@override
public void release() {
}

@override
public void receiveDetections(Detector.Detections<Barcode> detections) {
final SparseArray<Barcode> barcode = detections.getDetectedItems();

if (barcode.size()!=0)
{

textView.post( new Runnable() {
@override
public void run() {
Vibrator vibrator = (Vibrator)getApplicationContext().getSystemService( Context.VIBRATOR_SERVICE );
vibrator.vibrate( 1000 );
textView.setText( barcode.valueAt( 0 ).displayValue );




// Weise der Variablen "barcodewert" den Barcode zu
String barcodewert = textView.getText().toString();

// INTENT Übergebe Ergebnis von BarcodeReader an NewFood1
Intent intent = new Intent(NewFoodBarcodeReaderActivity.this, NewFood1Activity.class);

intent.putExtra("EXTRA_BARCODE_READER",barcodewert);

startActivity(intent);

}
} );
}
}
} );







}
}
 
G

Ganriel741

Neues Mitglied
package com.gh.goplus.NewFoodPackage;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.gh.goplus.R;

public class NewFood1Activity extends AppCompatActivity {



// Variablen
TextView btnNext;
Button btnBarcodeNf;
Button btnNewfoodBack;
EditText etbarcode;

// Variabeln empfang aus lv_nf_kategorien
String KATEGORIE_K;
String MARKE_K;
String NAME_K;

String BARCODE_WERT1;
String BARCODE_WERT2;

//Variabeln aus EMPFANG_KATEGORIE
String KATEGORIE;
String MARKE;
String NAME;
String BARCODE;

// TextView textView_kategorie = findViewById(R.id.tv_kategorie);
// EditText editText_marke = findViewById(R.id.et_marke);
// EditText editText_name = findViewById(R.id.et_name);





// OnCreate Methode
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_food1);



// Titel in Actionbar
setTitle("Lebensmittel erstellen");



// Initialisierung
btnNext=(TextView) findViewById(R.id.tv_btn_nf1_next);
btnBarcodeNf=(Button) findViewById(R.id.btn_bcode_nf);
btnNewfoodBack=(Button) findViewById(R.id.btn_NewFood1_Back);
etbarcode=(EditText) findViewById(R.id.et_barcode);




// Barcode scannen öffnet NewFoodBarcodeReaderActivity
btnBarcodeNf.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {
startActivity(new Intent(NewFood1Activity.this, NewFoodBarcodeReaderActivity.class));
}
});

// Empfängt Barcodewert aus NewFoodBarcodeReaderActivity, wenn BARCODEWERT1 leer dann
// kein "null" in tv schreiben sonst BARCODEWERT1 schreiben
Intent barcodewert = getIntent();

String EMPFANG_BARCODEWERT1 = barcodewert.getStringExtra("EXTRA_BARCODE_READER");
BARCODE_WERT1 = EMPFANG_BARCODEWERT1;

if (BARCODE_WERT1 == null){
etbarcode.setText("");
}else {
etbarcode.setText(""+BARCODE_WERT1);
}



//Variabeln aus EMPFANG_KATEGORIE
TextView textView_kategorie = findViewById(R.id.tv_kategorie);
EditText editText_marke = findViewById(R.id.et_marke);
EditText editText_name = findViewById(R.id.et_name);

// ET Deklaration
EditText mMarke = findViewById(R.id.et_marke);
EditText mName = findViewById(R.id.et_name);



// Button TextView Kategorien zu LebensmittelKategorienAuswahl
textView_kategorie.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {


// ET Deklaration
EditText mMarke = findViewById(R.id.et_marke);
EditText mName = findViewById(R.id.et_name);

// Text von ET in Variablen speichern zum übergeben
String MARKE = mMarke.getText().toString();
String NAME = mName.getText().toString();

// Variablen mit putExtra übergeben
Intent intent = new Intent(NewFood1Activity.this, LebensmittelKategorienActivity.class);

intent.putExtra("EXTRA_BARCODE",BARCODE_WERT1);
intent.putExtra("EXTRA_MARKE",MARKE);
intent.putExtra("EXTRA_NAME",NAME);

startActivity(intent);
}
});






// Intent von LebensmittelKategorieActivity empfangen
Intent katzur = getIntent();

String EMPFANG_KATEGORIE_K = katzur.getStringExtra("EXTRA_KATEGORIE_K");
KATEGORIE = KATEGORIE_K;

String EMPFANG_NAME_K = katzur.getStringExtra("EXTRA_NAME_K");
NAME = EMPFANG_NAME_K;

String EMPFANG_MARKE_K = katzur.getStringExtra("EXTRA_MARKE_K");
MARKE = MARKE_K;

String BARCODE_K = katzur.getStringExtra("EXTRA_BARCODE_K");
BARCODE_WERT2 = BARCODE_K;




// BOTTOM-NAV //////////////////////////////////////////////////////////////////////////////

// Button Weiter zu NewFood2 mit putExtras
btnNext.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {

// ET Deklaration
EditText mMarke = findViewById(R.id.et_marke);
EditText mName = findViewById(R.id.et_name);
TextView mKategorie = findViewById(R.id.tv_kategorie);
EditText mBarcode = findViewById(R.id.et_barcode);

// Text von ET in Variablen speichern zum übergeben
String MARKE = mMarke.getText().toString();
String NAME = mName.getText().toString();
String KATEGORIE = mKategorie.getText().toString();
String BARCODE = mBarcode.getText().toString();


// Variablen mit putExtra übergeben
Intent intent = new Intent(NewFood1Activity.this, NewFood2Activity.class);

intent.putExtra("EXTRA_MARKE",MARKE);
intent.putExtra("EXTRA_NAME",NAME);
intent.putExtra("EXTRA_KATEGORIE",KATEGORIE);
intent.putExtra("EXTRA_BARCODE",BARCODE);

startActivity(intent);
}

});


// Button zurück zur vorherigen View
btnNewfoodBack.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
onBackPressed();
}
});



}
}
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
Das ist die erste Activity auf welcher alle Daten gesammelt werden sollen.... schlussendlich wenn alles komplett wird noch einmal alles übergeben
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
Das ist der BarcodeReader
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
package com.gh.goplus.NewFoodPackage;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.gh.goplus.MainActivity;
import com.gh.goplus.R;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


// Class
public class LebensmittelKategorienActivity extends AppCompatActivity {



// Variablen
// Array of strings for ListView Title
String[] listviewTitle = new String[]{
"Backzutaten", "Backwaren", "Brotaufstrich", "Fast Food",
"Fisch & Fischprodukte", "Fleisch", "Gemüse", "Gerichte & Speisen",
"Getränke (alkoholfrei)", "Getränke (alkoholhaltig)", "Getreideprodukte",
"Gewürze & Kräuter", "Hülsenfrüchte", "Kartoffelprodukte", "Käse",
"Kuchen & Torten", "Milch & Milcherzeugnisse", "Cerealien", "Nudeln & Teigwaren",
"Nüsse & Samen", "Obst & Obstprodukte", "Öle & Fette", "Saucen & Dressing",
"Sojaprodukte", "Süßwaren", "Verschiedenes",
};


int[] listviewImage = new int[]{
R.drawable.lv_nf_kategorien_backzutaten, R.drawable.lv_nf_kategorien_backwaren, R.drawable.lv_nf_kategorien_brotaufstrich,
R.drawable.lv_nf_kategorien_fastfood, R.drawable.lv_nf_kategorien_fisch, R.drawable.lv_nf_kategorien_fleisch,
R.drawable.lv_nf_kategorien_gemuese, R.drawable.lv_nf_kategorien_speisen, R.drawable.lv_nf_kategorien_getraenke_alkoholfrei,
R.drawable.lv_nf_kategorien_getraenke_alkoholhaltig, R.drawable.lv_nf_kategorien_getreideprodukte, R.drawable.lv_nf_kategorien_kraeuter,
R.drawable.lv_nf_kategorien_shuelsenfruechte, R.drawable.lv_nf_kategorien_kartoffelprodukte, R.drawable.lv_nf_kategorien_kaese,
R.drawable.lv_nf_kategorien_kuchen, R.drawable.lv_nf_kategorien_joghurt, R.drawable.lv_nf_kategorien_cerealien,
R.drawable.lv_nf_kategorien_nudeln, R.drawable.lv_nf_kategorien_nuesse, R.drawable.lv_nf_kategorien_obst,
R.drawable.lv_nf_kategorien_fette, R.drawable.lv_nf_kategorien_saucen, R.drawable.lv_nf_kategorien_soja,
R.drawable.lv_nf_kategorien_suesswaren, R.drawable.lv_nf_kategorien_verschiedenes,

};



// Variablen für Empfang aus NewFood1
String BARCODE_K;
String MARKE_K;
String NAME_K;



// OnCreate Methode
@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lebensmittel_kategorien);


// Titel in Actionbar
setTitle("Kategorie auswählen");


// Deklaration
ListView lv_kategorie = (ListView) findViewById(R.id.lv_nf_kategorien);







// Empfange Intent Barcode aus NewFood1 zum Zwischenspeichern
Intent zwischenspeicher = getIntent();

String EMPFANG_BARCODE = zwischenspeicher.getStringExtra("EXTRA_BARCODE");
BARCODE_K = EMPFANG_BARCODE;

String EMPFANG_MARKE = zwischenspeicher.getStringExtra("EXTRA_MARKE");
MARKE_K = EMPFANG_MARKE;

String EMPFANG_NAME = zwischenspeicher.getStringExtra("EXTRA_NAME");
NAME_K = EMPFANG_NAME;










// ListView Referenze
List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>();

for (int i = 0; i < 26; i++) {
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("listview_title", listviewTitle);

hm.put("listview_image", Integer.toString(listviewImage));
aList.add(hm);
}

String[] from = {"listview_image", "listview_title", "listview_discription"};
int[] to = {R.id.listview_image, R.id.listview_item_title};

SimpleAdapter simpleAdapter = new SimpleAdapter(getBaseContext(), aList, R.layout.custom_item_nf_kategorien, from, to);
ListView androidListView = (ListView) findViewById(R.id.lv_nf_kategorien);
androidListView.setAdapter(simpleAdapter);








// Auswahl Kategrorie OnClickItem an NewFood1 übergeben
lv_kategorie.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

String KATEGORIE_K = listviewTitle;

Intent intent = new Intent(LebensmittelKategorienActivity.this, NewFood1Activity.class);

intent.putExtra("EXTRA_KATEGORIE_K",KATEGORIE_K);
intent.putExtra("EXTRA_BARCODE_K",BARCODE_K);
intent.putExtra("EXTRA_MARKE_K",MARKE_K);
intent.putExtra("EXTRA_NAME_K",NAME_K);

startActivity(intent);
}
});









} // Schlussklammer OnCreate
} // Schlussklammer Main

-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
Und das die Kategorien, hier habe ich momentan versucht alles hin zu schicken per Intent und dann wieder zurück zu Activity A was so aber auch nicht funktioniert hat
 
J

jogimuc

Stammgast
Hallo ohne den code jetzt gelesen zu haben hier noch etwas.

Bei der ganzen Geschichte solltest du auch bedenken das wenn du eine Activity verläst also beendest. Sie auch aus dem Speicher gelöscht wird. Beim start mit Intent wird eine neue Instanz der Activity A erstellt. Deine Variablen sind dann natürlich weg.
 
G

Ganriel741

Neues Mitglied
Hallo, erst einmal vielen Dank für deine Hinweise...

Der erste hat mich schon einmal auf die richtige Spur gebracht, hoffe ich bzw. jetzt weiss ich wenigstens nach was ich googeln kann.

Und der Zweite ist mega nützlich fürs Verständnis!
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
ich lese gerade ein Tutorial über Fragmente, denkst du das mich das weiter bringt?
 
J

jogimuc

Stammgast
Also du empfängst in der A immer nur einen Intent mit getIntent()
Es gibt nur den einen und den musst du unterscheiden wo er her kommt.
In der gleichen Activity zwei variablen von getIntent ist das gleiche. Du musst auf einen der Keys Prüfen wo der her kommt.
 
G

Ganriel741

Neues Mitglied
Wie prüfe ich das?

beim "versenden" mit
startActivityForResult(intent, KEY)?
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
und beim "empfangen"
intent.getIntExtra(name, KEY)?
 
J

jogimuc

Stammgast
If(intent.hasExtra("key") )
Ist eines der Keys von der c enthalten machst du entsprechend weiter. In deinem Fall solte eine einfache if else reichen
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
Du brauchst nur beim Empfang in der a prüfen.

Key ist natürlich einer Deiner Keys die Du in der c benutzt solte klar sein.
Bin am handy und da ist coden schlecht
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
Bitte beim nechste mal für Code den dafür vorgesehen Block benutzen. Ist einfach übersichtlicher hier im Forum
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
So nun noch etwas da es hier wohl gelöst zu scheinen aussieht
Wäre es nur richtig das andere Forum auch über diesen Erfolg und Hilfe zu informiren.

Gleicher Name gleiche Frage.
 
G

Ganriel741

Neues Mitglied
Hallo, und guten morgen!
ich habe mir gestern nur noch ein paar Videos angeschaut und werde deine Tipps jetzt gleich umsetzen,
sobald ich es gelöst habe wovon ich schwer ausgehe werde ich natürlich noch einen Post schreiben.

nochmals vielen lieben Dank und einen schönen Tag noch!
 
J

jogimuc

Stammgast
ich lese gerade ein Tutorial über Fragmente, denkst du das mich das weiter bringt?
Ich würde sagen das du dich erstmal mit den Activitys und intents beschäftigst.
Das auch ordentlich verstanden hast. Bevor du was neues machst.
Das du da noch Lücken hast sieht man ja hier. Mache erst mal eins fertig.

Wünsche dir viel Erfolg.
 
G

Ganriel741

Neues Mitglied
Danke, ja das ist mir gestern auch bewusst geworden :1f605: ,
weshalb ich mir dann auch noch Videos angeschaut und ein bisschen gelesen habe.

Ich habe die Frage ja auch nicht ohne Grund als "Anfängerfrage" gestellt da ich wirklich noch komplett
am Anfang stehe was Java betrifft.

Ich dachte der beste weg um Java zu lernen ist "rein ins kalte Wasser", ist meiner Ansicht nach auch so
da immer wieder neue Probleme auftauchen welche es zu lösen gibt und man sich so sehr gut
in die ganze IDE und so weiter rein findet und es dann mit jedem neuen Problem einfacher wird.

Allerdings habe ich den Intents bisher viel zu wenig Beachtung geschenkt bevor ich gemerkt habe das sie ein wesentlicher Baustein sein :1f602:
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
bin immer noch etwas am rumtrödeln weil ich dachte das z.B. bei Intent.putExtra("EXTRA_NAME", Variable) das EXTRA_.... der Key ist
und ich nicht ganz verstehe warum ein Wert den ich in einem vorherigen Intentent geholt habe
verschwindet wenn ich ihn im nächsten Intent wieder in eine Variable speichere und übergebe, genau so wie die anderen Variablen auch die ich ohne ein Intent geholt habe und bei denen alles problemlos funktioniert...

im Moment stelle ich mir das so vor das der Code von Activity A beim zurückkehren wieder von Anfang an abgearbeitet wird und deshalb der Wert den ich vorher schon in einem anderen Intent an die Activity geschickt habe von der ich komme leer ist...

ich muss es also hinbekommen das mein Code den ersten Intent überspringt wenn ich auch Activity C komme wenn ich es richtig verstanden habe oder?
 
swa00

swa00

Moderator
Teammitglied
Hallo Ganriel741,

und herzlichst willkommen im Forum.

@jogimuc : Sorry Jörg, dass ich mich einklinke ....

und ich nicht ganz verstehe warum ein Wert den ich in einem vorherigen Intentent geholt habe
verschwindet wenn ich ihn im nächsten Intent wieder in eine Variable speichere und übergebe, genau so wie die anderen Variablen auch die ich ohne ein Intent geholt habe und bei denen alles problemlos funktioniert...
Nun , ich denke , du bist mit deinen Intents schon einen Schritt zu weit, denn dir fehlt dein Basiswissen der OOP Programmierung
unter native Java und Android. Auch gibt es keine statischen Variablen, so wie man sie gewöhnlich unter C/C++ her kennt.

(Grausame) Videos können Dir dieses Basiswissen nicht vermitteln , sondern setzen mehr oder weniger Dieses voraus.
Du wirst also um eine "Lernsession" nicht drumrum kommen, sonst verstehst du den Rest auch nicht .

Egal wieviel Mühe wir uns auch hier geben mögen :)


ich muss es also hinbekommen das mein Code den ersten Intent überspringt wenn ich auch Activity C komme wenn ich es richtig verstanden habe oder?
Leider auch nein .....
 
Zuletzt bearbeitet:
G

Ganriel741

Neues Mitglied
Ja, das mit den statischen Variablen wie ich sie von C kenne, war vermutlich der erste große Denkfehler der mich die vergangenen 2 Tage an einem vorankommen gehindert hat...

könnt ihr mir evtl. eine gute kostenlose Website und Buch empfehlen?
Ich habe mir gerade Java ist auch eine Insel angeschaut, kennt das zufällig einer?
 
swa00

swa00

Moderator
Teammitglied
Schau mal hier :)

[LEITFADEN] Der Einstieg in die Android Programmierung mit Android Studio


[NACHTRAG]

Und du musst dich unbedingt in die Eigenschaften von Android einlesen .
Android ist ein dynamisches System und kann Dir ohne Vorwarnung Klassen und Variablen klauen
, wenn es der Meinung ist , dass diese nicht mehr benötigt werden.

Grund hierzu ist , dass es sich um ein mobiles System handelt und auch explizit so entwickelt wurde,

All das musst du als Entwickler berücksichtigen und abfangen.
Dazu gibt es Lesestoff wie "GarbageCollector" und "Lifecycle"

Overview of memory management | Android Developers

Understand the Activity Lifecycle | Android Developers

Erst wenn das Wissen der "Insel", Memory und Cycle sitzt , kannst du oben wieder weitermachen.
 
Zuletzt bearbeitet:
J

jogimuc

Stammgast
Auch ich habe dir gesagt das wenn du eine activity mittels intent aufrufst. Eine neue Instanz erstellt wird. Es wird also die Activity neu gestartet und auch die onceate wieder durchlaufen.
Du kannst da keine Werte der alten Instanz erhalten.

Den ersten intent überspringen du denkst hier falsch. Ich sagte dir bereits die Activity startet neu und empfängt den Intent. Die bekommt nur einen welcher Besser gesagt von wem der ist und was da als Inhalt drinn ist weißt du vorher nicht.
Beide Variablen vom intend haben den gleichen Inhalt und befinden sich beide in der oncreate.
Deshalb prüfe welche Keys in dem putextra sind. Wenn zb nicht das EXTRA_NAME enthalten ist kannst du davon ausgehen das er von der b activity kommt. Wenn es vorhanden ist kommt er mit hoher Wahrscheinlichkeit von c. Das geht da du nur die zwei hast die den Intent schicken.
Wenn garnicht im extra ist würde die app wohl vom System neu gestartet.

Das solltest du mit hasextra prüfen. Von mir aus kannst so auch deine Code teile überspringen ist aber kein guter Stiel.

Wenn du Parameter aus der App beim beenden Speichen willst dann schaue dir SharedPreferences mal an.
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
ich muss es also hinbekommen das mein Code den ersten Intent überspringt wenn ich auch Activity C komme wenn ich es richtig verstanden habe oder
Du weißt nicht woher der Intent kommt wer die a activity aufgerufen hat. Deshalb prüfen. Was in dem extra ist. Denn deine activitys geben unterschiedliche Werte Keys in den extas mit.
 
Status
Für weitere Antworten geschlossen.
Ähnliche Themen - Daten von mehreren Views auf einer View sammeln Antworten Datum
4