Tab - Inhalt aktualsieren

  • 7 Antworten
  • Neuester Beitrag
Diskutiere Tab - Inhalt aktualsieren im Android App Entwicklung im Bereich Betriebssysteme & Apps.
onetimeago

onetimeago

Fortgeschrittenes Mitglied
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..
 
S

swordi

Lexikon
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 ;)
 
S

Shinigami

Erfahrenes Mitglied
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...
 
onetimeago

onetimeago

Fortgeschrittenes Mitglied
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();
                    }
                }
            });
        }
    }
}
 
S

swordi

Lexikon
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
 
onetimeago

onetimeago

Fortgeschrittenes Mitglied
@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.
 
S

swordi

Lexikon
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.
 
onetimeago

onetimeago

Fortgeschrittenes Mitglied
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 ;)
 
Ähnliche Themen - Tab - Inhalt aktualsieren Antworten Datum
4