2010-04-26 147 views
1

我有一個主視圖,向用戶展示他/她可以爲應用程序修改的設置。這是XML是這樣的:首選項屏幕xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"   
    android:key="root_preferencescreen"> 

    <PreferenceScreen android:key="general_sett" android:title="general settings" /> 
    .... 

    <PreferenceScreen android:key="extras_sett" android:title="extras settings" /> 

</PreferenceScreen> 

當用戶在preferenceScreen上點擊一個輔助屏幕將打開,其中包含所需的首選項。我要的是能夠顯示一個圖標,這些preferenceScreens的左邊,這樣的事情:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"   
     android:key="root_preferencescreen"> 

    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent"... > 

     <ImageView id="@+id/picview" ... /> 

     <PreferenceScreen android:key="general_sett" android:title="general settings" /> 

    </LinearLayout> 
    ...... 

</PreferenceScreen> 

不幸的是這種方法是不是由Android允許的,所以如果你有關於任何其他的想法或解決方案這個問題請通知我。

+0

什麼是你看到那會導致你相信Android不允許你提出的方法?我只是自己試了一下,它對我很有用。 – 2010-11-19 23:25:26

回答

0

AFAIK它不容易在一個PreferenceScreen完成的,但它是一個Preference

XML真正的輕鬆:

<Preference 
     android:icon="@drawable/icon" 
     android:key="key" 
     android:summary="@string/text" 
     android:title="@string/title" /> 

PreferenceActivity

Preference other = (Preference) findPreference("key"); 
    other.setOnPreferenceClickListener(new OnPreferenceClickListener() { 
     public boolean onPreferenceClick(Preference preference) { 
      // start a new PreferenceActivity 
      Intent i = new Intent(getBaseContext(), second_pref_screen.class); 
      startActivity(i); 
      return true; 
     } 
    });