我在Android動態壁紙應用程序中的偏好如下。 (這些是複選框)。我想添加一個Facebook頁面的鏈接到這個列表。看看網上的Android PreferenceCategory,我沒有看到任何「LinkPreference」或「ButtonPreference」,但是再次,鏈接或按鈕並不是真正的偏好,所以也許我試圖在一個圓孔。這是可能的,如果是這樣,如何?將鏈接添加到偏好設置?
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
android:title="@string/livewallpaper_settings">
<PreferenceCategory android:title="@string/livewallpaper_settings" >
<CheckBoxPreference
android:defaultValue="true"
android:key="showred"
android:summary="Display red."
android:title="Display red" />
<CheckBoxPreference
android:defaultValue="true"
android:key="showgreen"
android:summary="Display green."
android:title="Display green" />
</PreferenceCategory>
</PreferenceScreen>
這個問題已經被問過: Android Add Link to a preference activity - how? ,但沒有回答。
[編輯] 所以現在有下面的代碼。它確實進入Facebook,但只有在首先點擊其中一個複選框首選項後才能訪問Facebook。
在livewallpaper_settings.xml:
<PreferenceCategory android:title="@string/livewallpaper_settings" >
<Preference
android:key="facebook"
android:summary="@string/facebook"
android:title="@string/facebook" />
</PreferenceCategory>
LiveWallpaperSettings.java:
公共無效onSharedPreferenceChanged(SharedPreferences sharedPreferences,String鍵) { Log.d( 「LiveWallpaperSettings.onSharedPreferenceChanged()」,「鍵: 「+ key); final Preference mypref =(首選項)findPreference(「facebook」); mypref.setOnPreferenceClickListener(新OnPreferenceClickListener(){
@Override
public boolean onPreferenceClick(Preference arg0) {
Log.d("LiveWallpaperSettings", "mypref: " + mypref.getKey());
if (mypref.getKey().equals("facebook")) {
Log.d("LiveWallpaperSettings", "LINK TO FACEBOOK");
openWebURL("http://www.facebook.com");
return false;
}
return false;
} });
return;
}
public void openWebURL(String inURL) {
Log.d("openWebURL", inURL);
Intent browse = new Intent(Intent.ACTION_VIEW , Uri.parse(inURL));
startActivity(browse);
}
但是它已被回答,你只是沒有點擊鏈接的評論 – Snailer 2013-05-05 22:52:45
哦,對不起,我忽略了那個鏈接,我會看看這個,謝謝。 – 2013-05-05 23:58:35