私はJavaとAndroidに非常に慣れていませんが、アプリを作成するために最善を尽くしています。基本的に、6つのテキストボックスを含むページが必要で、それぞれにユーザーが3桁の一意の値を入力し、確認ボックスをチェックしてから保存するボタン、ユーザーがアプリのこの部分に再度アクセスすると、データはまだそこにあり、1つのボックスで機能させることができましたが、別のボックスを追加すると、ボックス1の値が複製されました。クラスのコードは次のとおりです
public class Settings extends Activity implement OnClickListener {
CheckBox cb;
EditText et, et1;
Button b;
String test;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
cb = (CheckBox) findViewById(R.id.checkBox1);
et = (EditText) findViewById(R.id.editText1);
b = (Button) findViewById(R.id.button1);
b.setOnClickListener(this);
loadPrefs();
cb.setChecked(false);
}
private void loadPrefs() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
boolean cbValue = sp.getBoolean("CHECKBOX", false);
String name = sp.getString("NAME", "Kg");
if(cbValue){
cb.setChecked(true);
}else{
cb.setChecked(false);
}
et.setText(name + (" kg"));
}
private void savePrefs(String key, boolean value) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = sp.edit();
edit.putBoolean(key, value);
edit.commit();
}
private void savePrefs(String key, String value) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = sp.edit();
edit.putString(key, value);
edit.commit();
}
public void onClick(View v) {
// TODO Auto-generated method stub
savePrefs("CHECKBOX", cb.isChecked());
if (cb.isChecked())
savePrefs("NAME", et.getText().toString());
finish();
}
}
時間が短いので、どんな助けでも大歓迎です:(