Domanda

La scheda predefinita che viene visualizzata nella mia app è scheda 0. vorrei quando Preferenze uso si fa clic, per cambiare il currentTab a 1, così come la prossima volta che si apre l'applicazione, scheda 1 viene visualizzato al posto di scheda 0 .

Questo è il contenuto Preferences.java:

package com.fbisoft.uowt;

import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.Preference.OnPreferenceClickListener;
import android.widget.TabHost;
import android.widget.Toast;

public class Preferences extends PreferenceActivity {
   /** Called when the activity is first created. */

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      addPreferencesFromResource(R.xml.preferences);

      getPreferenceManager().findPreference("uso").setOnPreferenceClickListener(new OnPreferenceClickListener() {
         @Override
         public boolean onPreferenceClick(Preference preference) {
            TabHost.setCurrentTab(1);
            return true;
         }
      });
   }
}

Il TabHost.setCurrentTab(1); mi dà un errore:

Cannot make a static reference to the non-static method setCurrentTab(int)
from the type TabHost
È stato utile?

Soluzione

È necessario avere la vostra attività che ha l'orologio TabHost per le modifiche delle preferenze, quindi modificare la vostra scheda lì. Non si può dire la classe TabHost per cambiare una scheda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top