如何保存int的数据,然后编辑按钮的数字?

时间:2012-02-03 23:31:00

标签: android int sharedpreferences save

我试图这样做当你点击其中一个回复者(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 个答案:

答案 0 :(得分:1)

您将得分保存为int,但将其称为字符串。

更改

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

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