我想要检测当在一个ListView
中包含的Preference
被点击时,以便我可以启动一个意图来管理该选择。
我会在我的布局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
如何帮助我更好地完成任务?在此处查看:Preferences without deprecated methods。
在这里,您可以检查我的活动所具有的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>
快照:
点击关于(或访问标签分类)的首选项
后,我想打开某种意图
(也可以是视频或其他任何东西...名称有误导性)。
findPreference()
在点击时执行一些Java操作。现在不确定如何处理这个问题,而不是大幅改变整个东西或忽略过时警告。 :/ - Luis A. Florit