我需要帮助我在应用程序中保存复选框。 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);
}
});
}
}
我该如何解决?
答案 0 :(得分:1)
checkBoxDummy
应该是View
对象(可能是CheckBox
),而不是SharedPreferences
对象。sharedPreferences.edit().putBoolean(...).commit()
保存布尔值。