【问题标题】:CheckboxPreference onClick()复选框首选项 onClick()
【发布时间】:2011-06-30 00:31:48
【问题描述】:

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

【问题讨论】:

    标签: android checkbox checkboxpreference


    【解决方案1】:

    你可以试试这样的:

    final Preference otherpref = (Preference) findPreference("otherpref"); 
    final Preference pref = (Preference) findPreference("checkbox");        
    pPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
    
        public boolean onPreferenceClick(Preference preference) {
            otherPref.setSelectable(false);
            Toast.makeText(getBaseContext(), "Some text", Toast.LENGTH_SHORT).show();
            return true; 
        }
    });
    

    并禁用您想要的类别。

    【讨论】:

      【解决方案2】:

      我已将我的偏好活动实现为一个扩展 PreferenceActivity 并实现 OnSharedPreferenceChangeListener 的类

      public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
        @Override
        public void onCreate(Bundle savedInstanceState) {
          Context context = getApplicationContext();
          SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
          settings.registerOnSharedPreferenceChangeListener(this);
        }
      
        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
          // Check the checkboxes
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-07
        • 2011-04-03
        • 2012-10-27
        • 2011-12-18
        相关资源
        最近更新 更多