Autore Topic: controllo tab  (Letto 535 volte)

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
controllo tab
« il: 12 Dicembre 2010, 19:44:23 CET »
0
Salve a tutti!
Volevo sapere come potevo attivare/disattivare un tab all'interno di u TabHost.

Per esempio, se un tabStart mi fa accedere ad una sezione START, per la quale devo prima impostare dei parametri presenti in un altro tab, vorrei disabilitare temporaneamente il tabStart, e riattivarlo solo dopo aver impostato le cose necessarie.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:controllo tab
« Risposta #1 il: 12 Dicembre 2010, 20:21:05 CET »
0
Cercando su google ho trovato questa soluzione:

Adding tabs dynamically to a TabHost is easy. You create a TabSpec and keep adding them to the TabHost.
However, deleting the tabs is not (as easy).You might want to read this thread and this issue.

The easiest approach to deleting Tabs, that I can think of is(it comes at cost of more memory):
1. Remember all the TabSpecs that you are adding to your TabHost.
2. When the time comes to delete a Tab, remove the TabSpec first from your memory
3. Clear all the tabs from the TabHost
4. Recall all the TabSpecs in your memory and add them back.

Codice (Java): [Seleziona]
// data structure, what I referred to as memory
ArrayList<TabHost.TabSpec> list = new ArrayList<TabHost.TabSpec>();

// when you are adding tabs to tab host
// what you add, you remember
TabHost.TabSpec spec = tabs.newTabSpec("tag1");
spec.setContent(R.id.button);
spec.setIndicator("TabONe");
tabs.addTab(spec);
list.add(spec);
...
// when you want to remove
list.remove(list.size()-1); // remove it from memory
tabs.clearAllTabs();  // clear all tabs from the tabhost
for(TabHost.TabSpec spec : list) // add all that you remember back
   tabs.addTab(spec);

Fonte

PS
Non l'ho provato :P
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
Re:controllo tab
« Risposta #2 il: 12 Dicembre 2010, 23:39:07 CET »
0
Grazie, ma non cercavo esattamente questo.
Piu' che altro mi serviva una cosa del tipo: visualizzare comunque tutti i tab, ma non permettere la selezione di alcuni se non dopo aver compiuto detereminate azioni.
Una sorta di tab.enable(true)  :P