TabActivity con Child ActivityGroup e PreferenceActivity

Ho una TabActivity where each scheda ha ActivityGroup. Nella home ActivityChild del primo gruppo ho un'opzione di menu che consente all'utente di aprire le preferenze. Quando faccio clic su "Preferenze" nel menu, iniziano PreferenceActivity all'interno di ActivityGroup, che mostra la PreferenceActivity nella prima scheda. Il problema è quando faccio clic su una qualsiasi preferenza specifica che deve mostrare un dialogo (per EditTextPreference). Ho la seguente exception:

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@405d3a20 

Capisco che il problema è dovuto al fatto che la window di dialogo da visualizzare da PreferenceActivity utilizza un context sbagliato, ma non adesso come cambiare il context della window di dialogo creata.

  • Limitare le richieste API solo per la mia app mobile
  • come fare l'elenco dinamico della vista diagonale
  • Cattura Fare clic su una visualizzazione personalizzata in Android
  • Modalità di lancio "singolo" Android e metodo onNewIntent
  • Come posso get una variabile in un'altra attività?
  • Persistono le opzioni controllate da AlertDialog
  • Sotto è la PreferenceActivity che ho creato.

     public class PreferencesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.preferences); addPreferencesFromResource(R.xml.preferences); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); prefs.registerOnSharedPreferenceChangeListener(this); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) { } } 

    Non voglio creare dialoghi personalizzati. Voglio usare il meccanismo di PreferenceActivity per questo. Di seguito è il codice che sto utilizzando per aggiungere al gruppo:

     i = new Intent(MyActivity.this, PreferencesActivity.class); TabGroupActivity parentActivity = (TabGroupActivity) getParent(); parentActivity.startChildActivity("PreferencesActivity", i); 

    Qualche idea?

  • È ansible utilizzare il metodo BitmapFactory.decodeFile per decodificare un'image dalla posizione http?
  • Android AutoCompleteTextView con chip
  • Come impostare l'elemento selezionato di Spinner per valore, non per posizione?
  • Errore durante la compilazione: Android Studio
  • Utilizzo di Android Studio con Vuforia
  • Come eseguire un thread in background dopo che l'applicazione viene uccisa
  • 2 Solutions collect form web for “TabActivity con Child ActivityGroup e PreferenceActivity”

     This is very common problem with dialog's in Tab Host. Actually the Activity context is not sufficient to show a Dialog in Tab. You have to use the context of your GroupActivity for the dialog to be enabled without exception 

    Ho risolto questo problema con una brutta soluzione, qui purtroppo l'unico modo ansible.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.