7.1.2. PrefsActivity 类
7.1.2.PrefsActivity 类
对应首选项的XML资源文件已定义完毕,接下来为它创建一个 Activity 。回想下,我们曾在第六章提到,Android 程序中的任何界面都是 Activity 。要为用户提供设置用户名与密码的界面,我们就该专门新建一个只负责处理选项数据的特殊Activity。
首先要创建 Activity 对应的类。在 Eclipse 中进入你的 package ,右键选择 New→Class 。在出现的New Java Class窗口中设置名字为PrefsActivity,点击 Finish 即可在项目中新建一个PrefsActivity.java文件。
为简化选项界面的开发, Android 框架提供了一个PreferenceActivity类。以它为基类,我们的类可以很简单,如例 7.2 PrefsActivity.java:
例 7.2. PrefsActivity.java
package com.marakana.yamba2;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class PrefsActivity extends PreferenceActivity { //
@Override
protected void onCreate(Bundle savedInstanceState) { //
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs); //
}
}
- 与一般的Activity不同,PrefsActivity以PreferenceActivity为基类。
- 覆盖onCreate()方法,做些初始化工作,这点同其它Activity一样。
- 与其它Activity通常会调用setContentView()不同,这里通过调用addPreferencesFromResource()装载prefs.xml中定义的内容。
Tip:
在覆盖方法时,如果不想打字敲出onCreate()或其它方法那长长的声明,大可使用Eclipse的工具代劳。假如你在编辑PrefsActivity.java文件,并已加上了extends PreferenceActivity。那就可以选择Source→Override/Implement Methods…,然后会出现一个对话框,在里面选出需要覆盖的方法(这里是onCreate()),Eclipse即可为这些方法生成代码。