1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Tab - Inhalt aktualsieren

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von onetimeago, 24.10.2009.

  1. onetimeago, 24.10.2009 #1
    onetimeago

    onetimeago Threadstarter Erfahrener Benutzer

    Beiträge:
    184
    Erhaltene Danke:
    9
    Registriert seit:
    20.01.2009
    Hallo Leute,

    ich versuche eine Application zu schreiben. Ich habe mehrere tabs. Mein Problem ist aber wenn ich auf ein Tab klicke weiß ich nicht wie ich den inhalt aktualisieren kann?

    Den Listener habe ich schon gemacht.. aber ich habe halt probleme irgendwie den inhalt zu aktualisieren.. irgendwas mit setContent oder so muss ich da machen denke ich.. aber weiß leider nicht was genau ich da machen soll

    Code:
                mTabHost.setOnTabChangedListener(new OnTabChangeListener() {
                    
                    public void onTabChanged(String tabId) {
    
                        //int selectedTab = mTabHost.getCurrentTab();
                        // TODO Auto-generated method stub
                        if (tabId == "tab_current") { 
    //                        new AlertDialog.Builder(myApp.this)
    //                        .setTitle("Test")
    //                        .setMessage("Test!!")
    //                        .show();
                            
                        }
                    }
                });
    hoffentlich könnt ihr da mir weiterhelfen..
     
  2. swordi, 24.10.2009 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    tja du hast sicher einen tabholder definiert, der sagen wir 3 tabs mit inhalt x,y,z hat.

    dann kannst du im onTabChanged, einfach die elemente von x,y oder z verändern. schwer genaueres zu sagen, mit dem kleinen source code ;)
     
  3. Shinigami, 24.10.2009 #3
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Würde auch sagen wir brauchen noch die Info, wie die Tabs genau erzeugt werden. Dann gibt's sicher auch verschiedene Wege diese zu aktualisieren...
     
  4. onetimeago, 24.10.2009 #4
    onetimeago

    onetimeago Threadstarter Erfahrener Benutzer

    Beiträge:
    184
    Erhaltene Danke:
    9
    Registriert seit:
    20.01.2009
    okey da ja meine Code keine betriebsgeheimnisse sind ,)

    ich hatte dazwischen auch paar datenbankzugriffe, die habe ich aber alles gelöscht damit es übersichtlich ist. Hoffentlich könnt ihr jetzt weiterhelfen.
    Code:
    public class androidapp extends TabActivity {
        private TabHost mTabHost;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            mTabHost = getTabHost();
            
            mTabHost.addTab(mTabHost.newTabSpec("tab_a").setIndicator("A").setContent(R.id.tab1));
            mTabHost.addTab(mTabHost.newTabSpec("tab_b").setIndicator("B").setContent(R.id.tab2));
            mTabHost.addTab(mTabHost.newTabSpec("tab_c").setIndicator("C").setContent(R.id.tab3));
            
            mTabHost.setCurrentTab(0);
    
                mTabHost.setOnTabChangedListener(new OnTabChangeListener() {
                    
                    public void onTabChanged(String tabId) {
    
                        //int selectedTab = mTabHost.getCurrentTab();
                        // TODO Auto-generated method stub
                        if (tabId == "tab_b") { 
    //                        new AlertDialog.Builder(androidapp.this)
    //                        .setTitle("Testing")
    //                        .setMessage("Buy this thing?")
    //                        .show();
                        }
                    }
                });
            }
        }
    }
    
    
     
  5. swordi, 25.10.2009 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmm

    also du hast tab1, tab2 und tab3

    dann kannst du ja vorher sowas machen

    tvView1 = (TextView)getViewById(R.id.tab1View1);

    und beim onTabChanged

    if (tab1) {
    tvView1.setText("text geändert");
    }

    usw
     
  6. onetimeago, 25.10.2009 #6
    onetimeago

    onetimeago Threadstarter Erfahrener Benutzer

    Beiträge:
    184
    Erhaltene Danke:
    9
    Registriert seit:
    20.01.2009
    @swordi : muss ich dann auch in main.xml was ändern oder zufügen? ich habe wirklich keine ahnung wie das geht, weil ich mich damit nur seit paar tagen beschäftige.. ich habe es so versucht wie du es erklärt hast aber es hat leider nicht geklappt.

    für R.id.tab1View1 bekomme ich : cannot be resolved.
    hoffenlich könnt ihr da mir weiterhelfen.
     
  7. swordi, 25.10.2009 #7
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hehe sorry - bitte lies dir mal alles auf developer.android.com durch. ich habe nicht die zeit, dir hier alles über android zu erklären :)

    ein wenig grundverständnis muss man sich schon selbst aneigenen, vor allem bei so grundlegenden sachen.

    versuch es zuerst mal mit normalen view element, danach erst mit einem tab.
     
  8. onetimeago, 26.10.2009 #8
    onetimeago

    onetimeago Threadstarter Erfahrener Benutzer

    Beiträge:
    184
    Erhaltene Danke:
    9
    Registriert seit:
    20.01.2009
    jeap mach ich mal :D ich habe halt nur das halloworld beispiel mit normalen view element gemacht.. jetzt werde ich mal bissle weitersuchen und das mit dem tabs kombinieren..

    troztdem danke ;)
     

Diese Seite empfehlen