如何做上面的列表 有哪些"显示设置"的小标题,然后每个ITEM可以放些不同的东西.如单选,复选,有图片的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议楼主 去看api demo 这里面的效果api demo中都有 而且很详细~!! 这个应该是用的PreferenceActivity做的参考下这两个http://www.androidebug.com/2011-04/android-465-post.html编写自定义的 Android Preference 组件http://www.oschina.net/question/12_2175 是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 implementsPreference.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> 建一个listview类,然后将设一个adapter,在adapter类中的getView()中设置你要填加的不同组件,就可以了。 用PreferenceActivity可以实现。。另外重写ListView也是可以实现的,参考一下这个http://blog.csdn.net/wuxianglong/article/details/6609650 应该是PreferenceActivity做我以前也是只会用ListView重写适配器做,不过真的是用PreferenceActivity做最好了。具体请参看http://wenku.baidu.com/view/66f3d858be23482fb4da4c28.html android gallery应用 android中打开手机网页中文乱码的问题 android调用jni实现surface抓图的疑惑 救急~~~ 滚动条属性的设置 android 进行DOM解析XML文件的问题 canvas,怎么实现暂停功能。 android 中ListView的Item中弹出的自定义的菜单的位置问题! 求解关于开启另一个activity的问题 求大神们帮帮忙,listview没办法正常显示,求解决 如何使解压出的byte[]正常显示成字符串??? android 连接服务器数据库
http://www.androidebug.com/2011-04/android-465-post.html
编写自定义的 Android Preference 组件
http://www.oschina.net/question/12_2175
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>
我以前也是只会用ListView重写适配器做,不过真的是用PreferenceActivity做最好了。
具体请参看http://wenku.baidu.com/view/66f3d858be23482fb4da4c28.html