1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Graustein, 11.05.2010 #1
    Graustein

    Graustein Threadstarter Neuer Benutzer

    Hallo liebe Community!
    Ich habe vor etwa 3 Wochen angefangen, für Android zu programmieren.
    Nun stehe ich vor einem Problem, auf dessen Lösung ich (auch durch stundenlanges Googlen und Forenlesen) nicht gekommen bin:

    Ich habe eine TabActivity, in der ich 4 Tabs nach folgendem Muster erstelle:

    Code:
    intent = new Intent().setClass(this, AllgInfos.class);
    spec = tabHost.newTabSpec("info").setIndicator("",
    res.getDrawable(R.drawable.ic_tab_info))
                                .setContent(intent);
    tabHost.addTab(spec);
    
    Klappt soweit alles gut, in der Activity "AllgInfos" lade ich ein neues Layout als Content des Tabs, das eine Liste beinhaltet.
    Nun will ich bei einem Klick auf einen Listeneintrag eine andere Activity als Content des aktuellen Tabs haben.
    Der Aufruf der anderen Activity innerhalb der AllgInfo:

    Code:
    Intent myIntent = new Intent (AllgInfos.this, ContentBrowsing.class);       
    myIntent.putExtra("Woher",lv.getItemAtPosition(position).toString()); 
    startActivity(myIntent);
    
    Bei dieser Art, die Activity (ContentBrowsing) aufzurufen, verschwinden die Tab-Reiter, und NUR die aufgerufene Activity ist zu sehen.
    Wie schaffe ich es nun, eine neue Activity innerhalb eines Tabs aufzurufen, und dass die Tab-Reiter sichtbar bleiben?

    Ich danke euch bereits jetzt für euer Bemühen!

    Grüße,
    Graustein
     
    Zuletzt bearbeitet: 12.05.2010
  2. Graustein, 12.05.2010 #2
    Graustein

    Graustein Threadstarter Neuer Benutzer

    Hab es gelöst :)

    Es gibt im Grunde 2 Arten das zu bewerkstelligen:

    --> Anstelle von neuen Activities einfach neue Views mit this.setcontentView

    oder

    --> mit Hilfe von ActivityGroups und dem folgendem Aufruf:

    Code:
    Intent myIntent = new Intent (Quelle.this, Ziel.class);
    View view = getLocalActivityManager()
    .startActivity("ReferenceName", myIntent
    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
    .getDecorView();
    GespDaten.this.setContentView(view);
    
    Danke euch trotzdem!

    Grüße,
    Graustein
     
  3. baeckerman83, 27.06.2011 #3
    baeckerman83

    baeckerman83 Neuer Benutzer

    Hallo,

    leider bekomme ich immer nach mehreren Aufrufen einen StackOverflow und weiß nicht warum. Ich habe den Weg mit den ActivityGroups genommen.
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android content austauschen