Android偏好onclick事件
在我的preferences.xml中我有一个喜欢这样的元素:
<Preference android:title="About" /> 
 我想分配onClick事件,所以如果用户点击它,我将能够打开新的Intent或浏览器。 我试图像button一样做,但这似乎不工作。 
巴德尔
 你需要为该项目设置android:key ,然后在你的代码中,你可以做… 
假设您在XML中使用以下内容:
 <Preference android:title="About" android:key="myKey"></Preference> 
然后你可以在你的代码中执行以下操作:
 Preference myPref = (Preference) findPreference("myKey"); myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { //open browser or intent here return true; } }); 
启动一个网站:
 <PreferenceScreen android:title="website"> <intent android:action="android.intent.action.VIEW" android:data="http://www.example.com" /> </PreferenceScreen> 
开展具体活动:
 <PreferenceScreen android:title="something"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.example.foo" android:targetClass="com.example.foo.SomeActivity" /> </PreferenceScreen> 
你也可以使用“android:mimetype”来设置mimetype。
您需要使用onPreferenceTreeClick事件。
@Jason吉尔伯特的答案的后续行动
我在targetSdkVersion 25上 ,他的回答不起作用,我不得不用Preference标签包装intent标签。 例:
 <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>