【发布时间】:2012-06-30 08:54:48
【问题描述】:
我想检测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>
快照:
点击关于(或访问标签分类)Preference 后,我想打开某种类型的intent(也可以是视频或其他任何内容...名称具有误导性)。
【问题讨论】:
-
我遇到了和你类似的问题。我在 Preferences 中做了很多事情(可能我不应该这样做),而且我确实需要
findPreference()来做一些 java 点击。现在不知道如何在不严重改变整个事情或忽略弃用的情况下处理这个问题。 ://
标签: java android android-fragments deprecated android-preferences