Spinner von fremden activity aktualisieren

kukuk

kukuk

App-Anbieter (kostenlos)
29
Hallo kann mir einer sagen, wie ich von activityb meinen spinner der sich auf activitya befindet aktualisieren kann? Activitya wird nicht geschlossen beim anzeigen von activityb
 
* startActivityForResult -> aus Activity A die Activity B damit starten
* onActivityResult-> in Activity A überschreiben und den result den dir B schickt bearbeiten
 
Hab da jetzt folgendes ausprobiert, aber leider funktioniert es nicht.


ActivityA
Code:
	public void kategorie_hinzufügen(View v){
			Intent i = new Intent(Bemerkung.this, Kategorie_hinzufuegen.class);
			startActivityForResult(i, RESULT_OK);
		}


	@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 
             if(resultCode == RESULT_OK ){      
            	 Toast.makeText(this, "jo", Toast.LENGTH_SHORT).show();
             	item_auslesen();
     		
     		kategorie_ermitteln();   
             }
             }

ActivityB
Code:
	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		super.onBackPressed();
		
		  
		  
		  super.finish();
		  
			result =1;
			 Intent returnIntent = new Intent();
	         returnIntent.putExtra("result",result);
	         setResult(RESULT_OK,returnIntent);  
		
		finish();
		
	}


Weißt du was ich falsch mache?

Der zeigt weder die Toast Meldung an, oder macht sonst irgend etwas.
 
das super.finish() ist falsch

1x finish am Schluss reicht.

Der ursprüngliche Beitrag von 11:47 Uhr wurde um 11:48 Uhr ergänzt:

ah das super.onBackPressed()

brauchst du auch nicht - das liefert dir sonst nen RESULT_CANCEL

beides löschen und es sollte klappen
 
Danke dir. Muss ich denn irgendwas beachten wenn ich meinen spinner aktualisieren will? Mit den beiden voids mit denen ich den am Anfang erstelle schmiert die APP ab wenn ich den aktualisieren.....:(

Ich mach das über einen array string. Hab schon versucht einen list array zu verwenden aber damit bekommen ichs nicht hin.....
 
Den Spinner musst im UI Thread aktualisieren.

z.B: so

Handler h = new Handler();
h.postDelayed(new Runnable() {
public void run() {
// hier dein code...
}
}, 200);

oder so:

activity.runOnUiThread(new Runnable() {
public void run() {
// hier dein code...
}
});
 
Danke dir. Werde ich heute abend mal ausprobieren
 
Hallo,

habs jetzt ausprobiert. Habe super.onbackpressed(); entfernt und das super.finish();

Allerdings wird auf der ActivityA nicht der Code ausgeführt:
Code:
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 
             if(resultCode == RESULT_OK ){      
            	 Toast.makeText(this, "jo", Toast.LENGTH_SHORT).show();
}



Kann man das nicht irgendwie so machen?

Code:
	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		
	
		 Bemerkung object;
		    object = new Bemerkung(); 
		    
		    object.item_auslesen();
		object.kategorie_ermitteln();
			  
			
			
		
			
		
		  
		
		
		finish();
		
	}
 
Zuletzt bearbeitet:
Wird onBackPressed() überhaupt aufgerufen?
 
Jop. Onbackpressed wird aufgerufen.
 
du rufst aus A das startActivityForResult auf

und in A wird onActivityResult() dann nicht aufgerufen?
 
Jop. Wird nicht ausgelöst OnActivtyResult
 
ja löse das Problem ;)
 
Jawoll Fehler gefunden...

Falsch:
Intent i = new Intent(UeberstundenActivity.this, Kategorie_hinzufuegen.class);
startActivityForResult(i, RESULT_OK);


Richtig:
Intent i = new Intent(UeberstundenActivity.this, Kategorie_hinzufuegen.class);
startActivityForResult(i, 0);
 

Ähnliche Themen

B
Antworten
4
Aufrufe
495
bb321
B
S
Antworten
17
Aufrufe
555
jogimuc
J
5
Antworten
22
Aufrufe
1.422
590239
5
Zurück
Oben Unten