Autore Topic: Ottenere il testo all'interno di una tab dell'actionbar  (Letto 195 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 322
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Ottenere il testo all'interno di una tab dell'actionbar
« il: 09 Dicembre 2015, 12:22:59 CET »
0
Salve a tutti!

Nella mia applicazione setto un tab della mia actionbar con una custom view:
Codice (Java): [Seleziona]
  //prima tabella
        txt2.setText("Categorie Preferite");
        txt2.setTextColor(Color.WHITE);
        txt2.setTextSize(17F);
        txt2.setPadding(0, 25, 0, 0);

        if(Valori.screenHeight==1232){
            txt1.setTextSize(30F);
            txt1.setPadding(0, 10, 0, 0);
        }

        Valori.actionBar.addTab(
                Valori.actionBar.newTab()
                        .setCustomView(txt1)
                        .setTabListener(tabListener));

Io vorrei che quando l'utente tocca la barra con questo testo accada una determinata azione, ma siccome questa tab non è sempre presente (dipende da alcune scelte che l'utente fa) devo basarmi sul testo all'interno...

Come faccio ad ottenere il testo?

Subito avevo pensato ad una cosa del genere:
Codice (Java): [Seleziona]
        tabListener = new android.support.v7.app.ActionBar.TabListener() {//setto le azioni delle tabelle
            @Override
            public void onTabSelected(android.support.v7.app.ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {

                Valori.Pager.setCurrentItem(tab.getPosition());
                String Nome=tab.getText().toString();
            }

            @Override
            public void onTabUnselected(android.support.v7.app.ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {

            }

            @Override
            public void onTabReselected(android.support.v7.app.ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {

            }
        };

solo che l'app crasha a causa di un null pointer a questa riga: "String Nome=tab.getText().toString();"

Suggerimenti?
Grazie mille in anticipo!