7.1.2. PrefsActivity 类

优质
小牛编辑
124浏览
2023-12-01

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); //

}

}

  1. 与一般的Activity不同,PrefsActivity以PreferenceActivity为基类。
  2. 覆盖onCreate()方法,做些初始化工作,这点同其它Activity一样。
  3. 与其它Activity通常会调用setContentView()不同,这里通过调用addPreferencesFromResource()装载prefs.xml中定义的内容。

Tip:

在覆盖方法时,如果不想打字敲出onCreate()或其它方法那长长的声明,大可使用Eclipse的工具代劳。假如你在编辑PrefsActivity.java文件,并已加上了extends PreferenceActivity。那就可以选择Source→Override/Implement Methods…,然后会出现一个对话框,在里面选出需要覆盖的方法(这里是onCreate()),Eclipse即可为这些方法生成代码。