Preferenze Android onclick evento

Nelle mie preferences.xml ho un elemento preferenziale come questo:

<Preference android:title="About" /> 

Voglio assegnare un evento onClick , quindi se l'utente scatta su di esso, potrei aprire un nuovo Intent o un browser. Ho provato a farlo come faccio con i pulsanti, ma questo non sembra funzionare.

  • Come passare l'arrays int di id di risorse colore da arrays.xml a SwipeRefreshLayout.setColorSchemeResources
  • Come si annulla la scrittura a un ByteOutputStream in un metodo getBody di una richiesta personalizzata?
  • Android Google Maps v2 permanent Marker InfoWindow
  • Come visualizzare il video nell'emulatore Android da URL remoto?
  • Applicazione di applicazioni Android non genera risorse di pacchetto
  • Metodi WebView sullo stesso thread errore
  • Come get tutte le chiavi di SharedPreferences in modo programmato in Android?
  • Come integrare OpenCV Manager in App Android
  • Utilizzo di jcodec SequenceEncoder
  • Esempio: la comunicazione tra attività e servizio che utilizza la messaggistica
  • Come raschiare una string in Android?
  • Elenco condiviso personalizzato
  • 4 Solutions collect form web for “Preferenze Android onclick evento”

    Badr,

    È necessario impostare android:key per l'elemento, quindi nel codice puoi fare …

    Supponendo di utilizzare quanto segue nel tuo XML:

     <Preference android:title="About" android:key="myKey"></Preference> 

    Quindi puoi digitare quanto segue nel tuo codice:

     Preference myPref = (Preference) findPreference("myKey"); myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { //open browser or intent here } }); 

    per lanciare un sito web:

     <PreferenceScreen android:title="website"> <intent android:action="android.intent.action.VIEW" android:data="http://www.example.com" /> </PreferenceScreen> 

    per avviare un'attività specifica:

     <PreferenceScreen android:title="something"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.example.foo" android:targetClass="com.example.foo.SomeActivity" /> </PreferenceScreen> 

    è anche ansible utilizzare "android: mimetype" per impostare il tipo di mimetype.

    È necessario utilizzare l'evento onPreferenceTreeClick.

    Ad esempio, vedere http://www.netmite.com/android/mydroid/donut/packages/apps/Phone/src/com/android/phone/CdmaOptions.java

    Un follow-up sulla risposta di @jason gilbert

    Io sono su targetSdkVersion 25 , e la sua risposta non ha funzionato, ho dovuto avvolgere il tag di intenti con un tag preferenziale. Esempio:

     <PreferenceScreen android:title="something"> <Preference title="Title"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.example.foo" android:targetClass="com.example.foo.SomeActivity" /> </Preference> </PreferenceScreen> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.