AndroidManifest.xml中
com.android.settings.Settings这个类
<category android:name="android.intent.category.LAUNCHER" /> 所在launcher的界面可以直接启动Settings。
Settings的基本关系:public class Settings extends PreferenceActivity implements ButtonBarHandler
可以看出Settings即为PreferenceActivity。
PreferenceActivity的各个Item如何添加(以Settings为例):
PreferenceActivity ----setListAdapter----->HeaderAdapter(mHeaders)----->HeaderViewHolder(ImageView icon;TextView title;TextView summary;)
基本实现就是通过HeaderAdapter将mHeaders适配到ListView当中。而在适配每一个Header的时候,会取出header的icon以及title,summary等并放入HeaderViewHolder中,
然后通过view.setTag(holder);将holer设给view,最后返回每一个view为一个item。
所以在Settings中的每一个item都是一个header, 而你这些header是在settings_headers.xml文件中配置的。通过loadHeadersFromResource(R.xml.settings_headers, headers);将其加载进来。loadHeadersFromResource这个函数就是一个xml的文件的解析函数,得到header并将其放入h