我是一个菜鸟,正在开发我的第一个应用程序,其中包括以下内容:
- 主要活动,它只有一个复选框,在单击时启动/停止我的服务。
- 每 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);
}
});
}
}