3

我是一个菜鸟,正在开发我的第一个应用程序,其中包括以下内容:

  1. 主要活动,它只有一个复选框,在单击时启动/停止我的服务。
  2. 每 60 秒运行一次方法(快速数据库查询)的服务。

一切正常后,我意识到我的 CheckBox 没有保存它的状态。经过一番搜索后,我想我应该使用 CheckBoxPreference 而不是 CheckBox。

在我开始研究如何做到这一点之前,我的问题是:是否可以将首选项屏幕设置作为主要活动如果是这样,有没有人知道这方面的任何例子,或者任何人都可以提供我需要研究使用的大纲吗?

在我继续研究的过程中,我只是在寻找一些指导。我正在努力学习,所以我想了解为什么。

我创建了 MyPreferenceActivity.class,看起来我的首选项已正确保存并返回。现在,我遇到了这个错误“此方法必须返回布尔类型的结果”的问题。这发生在我的代码的这一行:

public boolean onPreferenceClick(Preference preference)

抱歉,我没有得到用于格式化的工具栏。

MyPreferenceActivity.class

package com.example.android.myprogram;

import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.Preference.OnPreferenceClickListener;


public class MyPreferenceActivity extends PreferenceActivity {
    private static final String TAG = "MyPreferenceActivity";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
        getPreferenceManager().findPreference("checkbox").setOnPreferenceClickListener(new OnPreferenceClickListener()
        {
            Intent myIntent = new Intent(getApplicationContext(), MyService.class);
            @Override
            public boolean onPreferenceClick(Preference preference)
            {
                startService(myIntent);
            }
        });
    }
}
4

2 回答 2

0

你说的是你想使用 PreferenceActivity 作为主要的 Activity,我认为这是可能的,因为它继承自 Activity 类。

  1. 我最近看到过这样的结构(可能是因为它是一种奇怪的方法)
  2. PreferenceActivity 唯一要做的就是管理一个保存在应用程序私有区域中的 xml 文件,只有一个复选框,这对您自己来说是一件快速的事情!

我期待着你的安萨茨!

于 2011-01-03T22:38:24.450 回答
0

再次,我在四处挖掘后找到了答案。这里是基本的 Java 101.. 我必须添加:

return true;

至少现在我理解了这个概念。

于 2011-01-04T05:28:11.433 回答