我是一个新手,正在开发我的第一个应用程序,包括以下内容:
主活动,其中只有一个复选框,在一次单击时启动/停止我的服务。
每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文件,只有一个复选框,这对你自己来说是一件很快的事情!
我期待着你的安萨兹!

07-24 17:01