1

我在保存 Android 的 SharedPreferences 时遇到了一些麻烦,这真的很简单。我只想有一个点击计数器并使用 SharedPrefs 保存点击次数,这里是代码:

    public class MainActivity extends Activity {
public int veces;
SharedPreferences prefs;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     prefs =  getSharedPreferences("MisPrefs", MODE_PRIVATE);

      veces = prefs.getInt("nroVeces", 0);
      //EditText TextOut = (EditText) findViewById(R.id.Texty);
     // TextOut.setText("El boton ha sido tocado "+veces+"veces");

    setContentView(R.layout.activity_main);

}

public void Presionado(View view){
    EditText TextOut = (EditText) findViewById(R.id.Texty);
    SharedPreferences.Editor editor = prefs.edit();

    veces = prefs.getInt("NroVeces", 0);
    veces ++;
    TextOut.setText("El boton ha sido tocado "+veces+" veces.");
    editor.putInt("nroVeces", veces);
    editor.commit();


}

我的计数器(veces)冻结在 1,这就是问题所在。

4

1 回答 1

5

问题在于,您在阅读和写作时将计数器命名为不同:

veces = prefs.getInt("NroVeces", 0);
// your code in between
editor.putInt("NroVeces", veces);

这应该解决它。

于 2013-09-03T02:54:12.933 回答