3

私は、以下で構成される最初のアプリに取り組んでいる初心者です。

  1. onClick でサービスを開始/停止する CheckBox が 1 つだけあるメイン アクティビティ。
  2. 60 秒ごとにメソッド (クイック データベース クエリ) を実行するサービス。

すべてが機能するようになった後、CheckBox がその状態を保存していないことに気付きました。もう少し検索した後、CheckBox ではなく CheckBoxPreference を使用する必要があると考えました。

これを行う方法の調査を開始する前の私の質問: 主な活動として設定画面を設定することは可能ですか? もしそうなら、誰かがこれの例を知っていますか、または私が使用する必要があるものの概要を誰かが提供できますか?

私は研究を続けているので、いくつかのガイダンスを探しています。私は学ぼうとしているので、その理由を理解したいと思っています。

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 ファイルを管理することだけです。チェックボックスが 1 つだけで、自分ですばやく行うことができます。

あなたのアンサーを楽しみにしています!

于 2011-01-03T22:38:24.450 に答える
0

繰り返しますが、掘り下げて答えを見つけました。Basic Java 101 here..追加する必要がありました:

return true;

少なくとも今はその概念を理解しています。

于 2011-01-04T05:28:11.433 に答える