Question

Je suis un noob travailler sur ma première application qui se compose des éléments suivants:

  1. Activité principale qui a simplement une boîte à cocher sur un onClick commence / arrête mon service.
  2. Service qui exécute une méthode (requête de base de données rapide) toutes les 60 secondes.

Après avoir obtenu le travail du tout, je compris que mon CheckBox ne sauvait pas son état. Après un peu plus de recherche je me suis dit que je devrais utiliser CheckBoxPreference plutôt que CheckBox.

Mon question (s) avant de commencer des recherches sur comment faire ceci: Est-il possible d'avoir une configuration de l'écran de préférence comme activité principale? Si oui, personne ne sait d'exemples de ceci ou peut-on donner un aperçu de ce que je vais devoir regarder dans?

Je cherche juste quelques conseils que je continue à la recherche. Je suis en train d'apprendre si je veux comprendre pourquoi.

J'ai créé mes MyPreferenceActivity.class et il semble que mes préférences sont enregistrées et renvoyées correctement. Maintenant, je vais avoir un problème avec cette erreur « Cette méthode doit renvoyer un résultat de type booléen. » Cela se produit sur cette ligne de mon code:

public boolean onPreferenceClick(Preference preference)

Désolé, je ne reçois pas la barre d'outils pour le formatage.

MyPreferenceActivity.class

package com.example.android.myprogram;

import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.Preference.OnPreferenceClickListener;


public class MyPreferenceActivity extends PreferenceActivity {
    private static final String TAG = "MyPreferenceActivity";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
        getPreferenceManager().findPreference("checkbox").setOnPreferenceClickListener(new OnPreferenceClickListener()
        {
            Intent myIntent = new Intent(getApplicationContext(), MyService.class);
            @Override
            public boolean onPreferenceClick(Preference preference)
            {
                startService(myIntent);
            }
        });
    }
}
Était-ce utile?

La solution

Ce que vous dites que vous voulez utiliser un PreferenceActivity comme activité principale, je pense que cela est possible parce qu'il hérite de la classe d'activité.

Mais

  1. J'ai vu une nouvelle construction (peut-être parce qu'il est une approche étrange)
  2. La seule chose qu'un PreferenceActivity fait est de Managa un fichier xml qui est enregistré dans les applications de zone privée, avec une seule case, il est une chose rapide à faire pour votre auto!

Je suis impatient de votre ansatz!

Autres conseils

Encore une fois, j'ai trouvé ma réponse après avoir creusé autour. Basic Java 101 ici .. je devais ajouter:

return true;

Au moins maintenant, je comprends le concept.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top