有哪些"显示设置"的小标题,然后每个ITEM可以放些不同的东西.如单选,复选,有图片的

解决方案 »

  1.   

    建议楼主 去看api demo 这里面的效果api demo中都有 而且很详细~!!
      

  2.   

    这个应该是用的PreferenceActivity做的参考下这两个
    http://www.androidebug.com/2011-04/android-465-post.html
    编写自定义的 Android Preference 组件
    http://www.oschina.net/question/12_2175
      

  3.   

    是PreferenceActivity不是ListActivitypackage bo.chen;import java.util.Map;import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.os.Handler;
    import android.preference.CheckBoxPreference;
    import android.preference.EditTextPreference;
    import android.preference.ListPreference;
    import android.preference.Preference;
    import android.preference.PreferenceActivity;
    import android.preference.PreferenceScreen;
    import android.util.Log;
    import android.widget.Toast;public class Settings extends PreferenceActivity implements
    Preference.OnPreferenceChangeListener{
    private ListPreference hobbyPref;
    private CheckBoxPreference marryPref;
    private CheckBoxPreference workPref;
    private EditTextPreference namePref;
    private SharedPreferences sPreference;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.settings);
    setViews();
    } private void setViews() {
    namePref = (EditTextPreference) findPreference("name");
    marryPref = (CheckBoxPreference) findPreference("marry");
    workPref = (CheckBoxPreference) findPreference("work");
    hobbyPref = (ListPreference) findPreference("hobbies");

    namePref.setOnPreferenceChangeListener(this);
    hobbyPref.setOnPreferenceChangeListener(this);

    }

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
    Preference preference) {
    return super.onPreferenceTreeClick(preferenceScreen, preference);
    } public boolean onPreferenceChange(Preference preference, Object newValue){
    String key = preference.getKey();
    Log.v("-->" ,newValue.toString());
    if(key.equals("name")){
    namePref.setSummary(newValue.toString());
    }else if(key.equals("hobbies")){
    hobbyPref.setSummary(newValue.toString());
    }
    return true;
    }
    }XML<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
            android:title="个人设置"
            android:key="sound_settings"
            >
    <PreferenceCategory android:title="个人资料"/>
     <EditTextPreference 
      android:key="name"
         android:title="姓名"
         android:summary="无"
        />
        <PreferenceCategory android:title="个人信息"/>
        <CheckBoxPreference
                android:key="work"
                android:title="是否工作"
                android:summary="工作"
                android:disableDependentsState="true"
                android:summaryOn="工作"
                android:summaryOff="未工作"/>
        <CheckBoxPreference
                android:key="marry"
                android:title="是否结婚"
                android:summary="未婚"
                android:disableDependentsState="true"
                android:summaryOn="已婚"
                android:summaryOff="未婚" />
                
    <PreferenceCategory android:title="其他信息"/>
        <ListPreference
                android:key="hobbies"
                android:title="个人爱好"
                android:summary="睡觉"
                android:entries="@array/hobby"
                android:entryValues="@array/hobby"
                android:defaultValue=""
                />
    </PreferenceScreen>
      

  4.   

    建一个listview类,然后将设一个adapter,在adapter类中的getView()中设置你要填加的不同组件,就可以了。
      

  5.   

    用PreferenceActivity可以实现。。另外重写ListView也是可以实现的,参考一下这个http://blog.csdn.net/wuxianglong/article/details/6609650
      

  6.   

    应该是PreferenceActivity做
    我以前也是只会用ListView重写适配器做,不过真的是用PreferenceActivity做最好了。
    具体请参看http://wenku.baidu.com/view/66f3d858be23482fb4da4c28.html