Как вы сохраняете данные int, а затем редактируете число нажатием кнопки? - PullRequest
0 голосов
/ 04 февраля 2012

Я пытаюсь получить его, поэтому, когда вы нажимаете на один из ответчиков (Q1A1 или Q1A2), он добавляет несколько баллов к testScore int, чтобы потом я мог потом назвать это в более позднем классе, чтобы оценка, которую они получили быть размещенным там. Спасибо всем, кто заранее помогает!
вот мой код,

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class Test extends Activity implements OnClickListener 

{

    TextView Q1A1;
    TextView Q1A2;
    TextView test;

    public static final String PREFS_NAME = "MyPrefsFile";
    public static final int testScore = 0;

    @Override
public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        Q1A1 = (TextView) findViewById(R.id.Q1A1);
        Q1A2 = (TextView) findViewById(R.id.Q1A2);
        Q1A1.setOnClickListener(this);
        Q1A2.setOnClickListener(this);
        test = (TextView) findViewById(R.id.test);




        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        test.setText(settings.getString("YourScore", "No Score"));


    }

    public void onClick(View v) 
    {
        switch(v.getId())
        {
        case R.id.Q1A1:

            SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putInt("YourScore", (testScore + 10));
            editor.commit();

            //Intent FinalScore = new Intent(this, FinalScore.class);
            //startActivity(FinalScore);
            break;
        case R.id.Q1A2:

            break;
        }   
    }   
}

спасибо за помощь

1 Ответ

1 голос
/ 04 февраля 2012

Вы сохраняете свой счет как int, но называете его как строку.

Изменить

test.setText (settings.getString ("YourScore", "No Score"));

На

test.setText (""+ settings.getInt (" YourScore ", 0));

...