对于SharedPreferences类型,该方法未定义

时间:2014-05-24 23:01:50

标签: android checkbox sharedpreferences

我需要帮助我在应用程序中保存复选框。 Eclipse向我展示了这些问题:

- 对于SharedPreferences类型

,方法setChecked(boolean)未定义

- 方法setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){})未定义类型SharedPreferences

- 方法putBoolean(String,boolean)未定义为SharedPreferences类型

这是我的代码:

package com.example.actionoverflow;

import com.example.actionoverflow.R;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.view.View.OnClickListener;
import android.preference.PreferenceManager;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.CompoundButton;

public class MainActivity2 extends Activity {

    SharedPreferences checkBoxDummy;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    checkBoxDummy.setChecked(sharedPreferences.getBoolean("checkBoxDummy", false));

    checkBoxDummy.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {

    SharedPreferences.putBoolean("checkBoxDummy", isChecked);
        }
    });



}
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

  1. checkBoxDummy应该是View对象(可能是CheckBox),而不是SharedPreferences对象。
  2. 使用sharedPreferences.edit().putBoolean(...).commit()保存布尔值。