我是一个新手,正在开发我的第一个应用程序,包括以下内容:
主活动,其中只有一个复选框,在一次单击时启动/停止我的服务。
每60秒运行一个方法(快速数据库查询)的服务。
在一切正常之后,我意识到我的复选框并没有保存它的状态。在进一步搜索之后,我想我应该使用checkboxpreference而不是checkbox。
在我开始研究如何做到这一点之前,我的问题是:是否可以将首选项屏幕设置为主要活动?如果是这样,有人知道这个例子吗,或者有人能提供一个大纲,我将需要研究使用什么?
我只是在继续研究的过程中寻找一些指导。我在努力学习,所以我想知道为什么。
我创建了mypreferenceactivity.class,看起来我的首选项被正确地保存和返回了。现在,我遇到了一个问题,这个错误是“这个方法必须返回布尔类型的结果”。
public boolean onPreferenceClick(Preference preference)
抱歉,我没有得到格式化工具栏。
我的首选活动.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);
}
});
}
}
最佳答案
你的意思是你想使用preferenceactivity作为主活动,我认为这是可能的,因为它继承自activity类。
但是
我最近见过这样的建筑(可能是因为这是一种奇怪的做法)
preferenceactivity所做的唯一一件事就是管理一个保存在apps私有区域的xml文件,只有一个复选框,这对你自己来说是一件很快的事情!
我期待着你的安萨兹!