Я хочу определить, когда щелкнули Preference
, содержащуюся в ListView
, чтобы я мог запустить намерение для управления этим выбором.
Я бы сделал так в моем макете XML
файл:
<Preference android:title="About" android:key="myKey"></Preference>
И следующее в моем коде java
:
Preference myPref = (Preference) findPreference("myKey");
myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
//open browser or intent here
}
});
Но методpublic Preference findPreference (CharSequence key)
не рекомендуется.
Fragments
помочь мне лучше выполнять мою задачу? Проверьте здесь:Настройки без устаревших методов .Здесь вы можете проверить структуру макета XML
, которую имеет моя активность, и снимок приложения :
. XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference
android:key="about"
android:title="@string/titleAbout"
android:summary="@string/summaryAbout"
/>
<Preference
android:key="labelTaxonomy"
android:title="@string/titleLabelTaxonomy"
android:summary="@string/summaryLabelTaxonomy"
/>
</PreferenceScreen>
СНИМОК:
После нажатия на «О программе» (или «Доступ к таксономии меток»)Preference
, я хотел бы открыть intent
какой-то (также может быть видео или что-то еще... названия вводят в заблуждение ).