如何做上面的列表

ericllzh 2011-07-08 05:18:14


有哪些"显示设置"的小标题,然后每个ITEM可以放些不同的东西.如单选,复选,有图片的
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxawmhmy 2011-07-18
  • 打赏
  • 举报
回复
应该是PreferenceActivity做
我以前也是只会用ListView重写适配器做,不过真的是用PreferenceActivity做最好了。
具体请参看

http://wenku.baidu.com/view/66f3d858be23482fb4da4c28.html
降龙 2011-07-18
  • 打赏
  • 举报
回复
用PreferenceActivity可以实现。。另外重写ListView也是可以实现的,参考一下这个http://blog.csdn.net/wuxianglong/article/details/6609650
A一剑飞鸿 2011-07-18
  • 打赏
  • 举报
回复
学习!
Hilda_Chen 2011-07-12
  • 打赏
  • 举报
回复
建一个listview类,然后将设一个adapter,在adapter类中的getView()中设置你要填加的不同组件,就可以了。
b87936260 2011-07-11
  • 打赏
  • 举报
回复
是PreferenceActivity不是ListActivity

package 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>

不用了的号 2011-07-09
  • 打赏
  • 举报
回复
顶起来
passself 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fontlose 的回复:]

这个应该是用的PreferenceActivity做的参考下这两个
http://www.androidebug.com/2011-04/android-465-post.html
编写自定义的 Android Preference 组件
http://www.oschina.net/question/12_2175
[/Quote]
他的例子 已经很明白了
fontlose 2011-07-08
  • 打赏
  • 举报
回复
这个应该是用的PreferenceActivity做的参考下这两个
http://www.androidebug.com/2011-04/android-465-post.html
编写自定义的 Android Preference 组件
http://www.oschina.net/question/12_2175
雨松MOMO 2011-07-08
  • 打赏
  • 举报
回复
建议楼主 去看api demo 这里面的效果api demo中都有 而且很详细~!!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧