gpt4 book ai didi

Android 保存复选框首选项

转载 作者:太空狗 更新时间:2023-10-29 15:15:14 24 4
gpt4 key购买 nike

我要疯狂地在我的项目中保存一组复选框的状态。想象一下一组 8 个复选框,用户必须选中或不选中才能记住像集合这样的东西。这就是我所取得的成就......但几乎没有用处。我粘贴了该类的所有代码。对不起,如果我没有很好地使用代码块..我真的不明白怎么..谢谢你。

package com.example.eurocollection;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;

public class Francia extends Activity {
// Identificatore delle preferenze dell'applicazione
private final static String MY_PREFERENCES = "MyPref";
// Costante relativa al nome della particolare preferenza
private final static String TEXT_DATA_KEY = "textData";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_francia);
updatePreferencesData();//carica le preferenze
getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_francia, menu);
return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

//come salvare le preferenze
public void savePreferencesData(View view) {
// Otteniamo il riferimento alle Preferences
SharedPreferences prefs = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
// Otteniamo il corrispondente Editor
SharedPreferences.Editor editor = prefs.edit();
// Modifichiamo il valore con quello inserito nell'EditText
//EditText outputView = (EditText) findViewById(R.id.inputData);
CheckBox cb1 = (CheckBox) findViewById(R.id.checkBox2efrance99);

cb1.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked){
editor.putBoolean("MY_PREFERENCES", cb1.isChecked());

cb1.setChecked(settings.getBoolean("MY_PREFERENCES",true));

}

}
});
updatePreferencesData();
}
// fine copiato
private void updatePreferencesData(){
// Leggiamo le Preferences
SharedPreferences prefs = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
// Leggiamo l'informazione associata alla proprietà TEXT_DATA
Boolean textData = prefs.getBoolean(TEXT_DATA_KEY, false);
// Lo impostiamo alla TextView
CheckBox cb1 = (CheckBox) findViewById(R.id.checkBox2cfrance99);
cb1.setChecked(textData);
}


}

最佳答案

那么你在哪里调用savePreferencesData()方法呢?editor.commit() 在哪里?

关于Android 保存复选框首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com