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>