标签: checkboxpreference

通过选中/取消选中CheckBoxPreference来启动/停止服务

我正在编写一个通过检查或取消选中启动或停止服务的应用程序,CheckBoxPreference 我试图找到一些信息,如示例代码或教程.但我还没找到.如何通过检查或取消选中CheckBoxPreference 哪个来启动或停止服务PreferenceActivity?我希望在"service_toggle"键为true时启动服务,并在"service_toggle"键为false时停止服务是否有关于启动/停止服务的示例代码或教程通过选中/取消选中CheckBoxPreference

这是我的代码:


Settings.java

package kr.hybdms.sidepanel;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;

import com.actionbarsherlock.app.SherlockPreferenceActivity;
import kr.hybdms.sidepanel.R;

public class Settings extends SherlockPreferenceActivity implements OnPreferenceClickListener{

      @SuppressWarnings("deprecation")
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);



        Preference pAppName = (Preference)findPreference("blog_intent");
        Preference pAppVersion = (Preference)findPreference("appinfo_intent");

        pAppName.setOnPreferenceClickListener(this);
        pAppVersion.setOnPreferenceClickListener(this);
    }

    @Override
    public boolean onPreferenceClick(Preference preference)
    {

        if(preference.getKey().equals("blog_intent"))
        {
            Intent blog = new Intent(Intent.ACTION_VIEW);
            blog.setData(Uri.parse("http://hybdms.blogspot.kr"));
            startActivity(blog);
        }

        else if(preference.getKey().equals("appinfo_intent"))
        {
            Intent appinfo = new Intent(Settings.this, Appinfo.class); 
             startActivity(appinfo); …
Run Code Online (Sandbox Code Playgroud)

android preferenceactivity checkboxpreference

3
推荐指数
1
解决办法
1746
查看次数

CheckBoxPreference .isChecked()返回相反的值

我正在尝试使用片段构建我的PreferenceActivity.我有一个包含两个CheckBoxPreferences的PreferenceFragment:

<CheckBoxPreference
    android:key="pref_bfp_scale"
    android:title="@string/PREF_BFP_scale_title"
    android:defaultValue="false" />
<CheckBoxPreference
    android:key="pref_bfp_navy"
    android:title="@string/PREF_BFP_navy_title"
    android:defaultValue="true" />
Run Code Online (Sandbox Code Playgroud)

我的FragmentSettingsActivity:

public class FragmentSettingsActivity extends PreferenceActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public static class BodyFatPreferenceFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.pref_body_fat);
            bindPrefSumtoValListener(findPreference("pref_bfp_scale"), "Boolean");
            bindPrefSumtoValListener(findPreference("pref_bfp_navy"), "Boolean");
        }
    }

    private static Preference.OnPreferenceChangeListener prefSumtoValListener = new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object value) {
            String stringValue = value.toString();
            log("Pref changed - Value: " + stringValue);

            if (preference instanceof CheckBoxPreference) {
                Map<String, …
Run Code Online (Sandbox Code Playgroud)

android checkboxpreference

3
推荐指数
1
解决办法
2045
查看次数

如何使Android CheckBoxPreference无法点击?

这是我的代码:

<PreferenceCategory
   android:summary="Fade information"
   android:title="Fade Effects"> 

   <CheckBoxPreference
     android:title="Fade In/Out"
            android:defaultValue="false"         
            android:key="fadeIn"/> 

   <CheckBoxPreference
     android:title="Heartbeat"
            android:defaultValue="false"   
            android:key="heartbeat" />  

   <CheckBoxPreference
     android:title="Pulse"
            android:defaultValue="false"               
            android:key="pulse" />  

   <CheckBoxPreference
     android:title="None"
            android:defaultValue="true"
            android:key="none" />  
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)

我基本上试图弄清楚如何使这些CheckBox显示为原样,但让用户无法点击它们.

java android checkboxpreference

2
推荐指数
1
解决办法
2133
查看次数

当CheckboxPreference摘要字段不够长时,显示"首选项"屏幕的额外信息?

我有一个屏幕,您可以在其中为我的Android应用程序启用/禁用模块.

为此,我使用CheckboxPreference屏幕.这一切都很好,但如果添加的描述比2行更长,则摘要字段会被切断.

假设每个模块有4-5行描述,我想在帮助窗口中显示它.

我尝试将click事件绑定到CheckboxPreference,但是这会触发整行,因此不仅在单击复选框时,还有更多,无论您在哪一行单击该复选框,都会切换.

所以现在我想知道这是否可以解决.因此,如果用户需要更多信息,只需点击文本并打开帮助程序,如果要切换设置,则会点击复选框.

你会怎么做?如果他们确实有效,我也会对其他想法持开放态度.

android views preferences checkboxpreference

1
推荐指数
1
解决办法
2833
查看次数

CheckboxPreference onClick()

我想实现一个2部分首选项屏幕.如果单击复选框,则第一个类别应锁定,第二个类别解锁.如果不是,反过来.现在我看到它只有在我之前的活动然后转到新的(sharedPreferences)时才有效.我应该覆盖什么样的倾听者以及如何?

checkbox android checkboxpreference

1
推荐指数
1
解决办法
7766
查看次数

如何在Android中的Receiver/Service中获取CheckBoxPreference值?

CheckBoxPreference在我PreferenceActivity用来设置一个值.稍后,我想从Receiver和/或Service检查该值.findPreference()方法不能从该上下文中获得.我知道,SharedPreferences无论如何都存储了这个偏好值,但关键是什么?我怎样才能获得复选框的值?

java service android receiver checkboxpreference

1
推荐指数
1
解决办法
4340
查看次数

addPrefencesFromResource导致FC:错误膨胀类CheckboxPreference

每次切换到首选项活动时,都会遇到运行时错误,即我的应用程序.我正在尝试学习Android编程,我设法解决了我遇到的问题,但经过大量时间寻找帮助后,我无法理解我做错了什么.

这是Settings.java的代码:

package com.wisp.sudokuapp;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Settings extends PreferenceActivity {
    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的settings.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <CheckboxPreference
       android:key="hints"
       android:title="@string/settings_hints_title"
       android:summary="@string/settings_hints_summary"
       android:defaultValue="true" />

    <CheckboxPreference
       android:key="music"
       android:title="@string/settings_music_title"
       android:summary="@string/settings_music_summary"
       android:defaultValue="true" />

</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我的清单:

(...)
        <activity android:name="com.wisp.sudokuapp.Settings"
            android:label="@string/settings_title">
        </activity>
(...)
Run Code Online (Sandbox Code Playgroud)

和Logcat:

03-25 17:22:22.637: W/dalvikvm(440): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-25 17:22:22.687: E/AndroidRuntime(440): FATAL EXCEPTION: main
03-25 17:22:22.687: E/AndroidRuntime(440): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wisp.sudokuapp/com.wisp.sudokuapp.Settings}: android.view.InflateException: Binary …
Run Code Online (Sandbox Code Playgroud)

crash android checkboxpreference

1
推荐指数
1
解决办法
1575
查看次数