私はクイズアプリを作成しています。いくつかの質問をして、ラジオボタンの形でオプションを提供します。今、答えの値(正しい答えにプラス、間違った答えにマイナス)を保存し、SharedPreferences
その結果を他のアクティビティに表示したいと思います. 私はここでこの答えを検索して見つけました
私はそれを使用しましたが、それでも目的の結果を得ることができません 私のコードは次のようになります:
値を保存するメイン アクティビティSharedPreferences
:
public class MainActivity extends Activity {
private SharedPreferences saveScore;
private SharedPreferences.Editor editor;
RadioGroup group;
RadioButton radioButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
group = (RadioGroup) findViewById(R.id.radioGroup1);
radioButton = (RadioButton) group.findViewById(group.getCheckedRadioButtonId());
saveScore = getPreferences(MODE_PRIVATE);
}
public void gotoNextAndSaveScore(View view) {
if(group.getCheckedRadioButtonId() != R.id.radio3){
editor = saveScore.edit();
editor.putInt("score", -1);
editor.commit();
}else{
editor = saveScore.edit();
editor.putInt("score", 1);
editor.commit();
}
Intent intent = new Intent (MainActivity.this, NextActivity.class);
startActivity(intent);
}}
これは、から値を取得しようとする次のアクティビティですSharedPreferences
:
public class NextActivity extends Activity{
private SharedPreferences preferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
preferences = this.getSharedPreferences("score", MODE_WORLD_WRITEABLE);
int value = preferences.getInt("score", 0);
String score = "Your Score is : " + value;
UIHelper.displayScore(this, R.id.tvScore, score );
}}
誰もその方法を知っていますか?