Android Studio问题继续增加计数器

NI GI

我正努力成为游戏的一部分,当您按下fab图标,TextView时,增加数字。它从零开始,然后增加一。我试图保存该数字,以便下次找到它,启动该应用程序并继续增加它。我是新手,我进行了一些搜索。

我编写了一个代码,在关闭并重新打开它时会保留该数字,但是当我按下fab图标时,它从头开始,而不是从我保存的数字开始。也许我对保存代码的工作方式不太了解。谁能帮我?谢谢!!

我在MainActivity中的代码是:

int newAge;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        final TextView age  = (TextView) findViewById(R.id.age);

        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                newAge++;
                age.setText(String.valueOf(newAge));
            }
        });

        //getting preferences
        SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
        int savedAge = prefs.getInt("key", 0); //0 is the default value
        age.setText(String.valueOf(savedAge));

    }
    @Override
    protected void onStop(){
        super.onStop();
        SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("key", newAge);
        editor.commit();
    }
卢卡斯

你要申请savedAgenewAge,因为一旦你从加载你的年龄SharedPreferences,你只应用laoded年龄TextView的,如果你按一下按钮,TextView的显示,而不是你保存的值1。

int newAge;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    final TextView age  = (TextView) findViewById(R.id.age);

    //getting preferences
    SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
    int savedAge = prefs.getInt("key", 0); //0 is the default value
    age.setText(String.valueOf(savedAge));
    newAge = savedAge; //set the age value, to further increase it by a button click

    FloatingActionButton fab = findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            newAge++;
            age.setText(String.valueOf(newAge));
        }
    });



}
@Override
protected void onStop(){
    super.onStop();
    SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putInt("key", newAge);
    editor.commit();
}

尝试通读this,以更好地了解Android中的SharedPreferences。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在Android中使用SharedPreferences增加计数器

来自分类Dev

在河内塔上添加计数器Android Andengine APP

来自分类Dev

Android Studio计数器错误递增

来自分类Dev

角度:长按增加计数器

来自分类Dev

SESSION循环,增加计数器

来自分类Dev

在 for 循环中增加计数器

来自分类Dev

在android中单击主页按钮时我们可以添加计数器吗?

来自分类Dev

这个Android计数器的问题是什么

来自分类Dev

这个Android计数器有什么问题

来自分类Dev

Android Studio中的计分计数器错误

来自分类Dev

禁用Android计数器

来自分类Dev

重新打开android应用程序时,从最后一个计数器继续

来自分类Dev

如何在Ruby循环中增加计数器

来自分类Dev

在MySQL DB中增加计数器的最快方法

来自分类Dev

在更新循环中增加计数器?

来自分类Dev

在R中的for循环中增加计数器

来自分类Dev

在嵌套的foreach循环中增加计数器

来自分类Dev

增加计数器但随着DELAY减少

来自分类Dev

创建新数组或增加计数器

来自分类Dev

长按React Native可以不断增加计数器

来自分类Dev

更快的方式破环或增加计数器?

来自分类Dev

根据数组长度增加计数器

来自分类Dev

JavaScript onclick更改图像并增加计数器

来自分类Dev

避免在Python循环中增加计数器

来自分类Dev

如何在Ruby循环中增加计数器

来自分类Dev

SQL SERVER STUFF函数值增加计数器

来自分类Dev

创建新数组或增加计数器

来自分类Dev

查找-exec并增加计数器/进度

来自分类Dev

如何通过单击按钮增加计数器的值?