【问题标题】:How to save the value of the number of touches in a button Android Studio如何在按钮Android Studio中保存触摸次数的值
【发布时间】:2020-11-04 13:38:26
【问题描述】:

我想保存数字值,以便在关闭应用程序时继续保存它,并在打开它时保持进度。我不知道为什么 SharedPreferences 不起作用。 我尝试了很多方法,但要么是应用程序强制关闭,要么就是无法正常工作

数字 = 数字

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    TextView contador;
   
    int numero = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

SharedPreferences mPrefs = getSharedPreferences("valor", numero);
        int data = mPrefs.getInt("valor", numero);

        contador = findViewById(R.id.contador);
        
    }

    public void onClick(View v) {

        numero++;
        contador.setText(String.valueOf(numero));

     
        SharedPreferences.Editor data = data.edit();
        data.putInt("tag", numero).commit();
    }
};







【问题讨论】:

    标签: java android save sharedpreferences


    【解决方案1】:

    您应该使用相同的 sharedPreferences 来检索值。 此外,通过您保存它们的相同键获取值。以下是您可以遵循的示例。

    SharedPreferences mPrefs = getSharedPreferences("valor", 
    Context.MODE_PRIVATE);
    try{
        int data = mPrefs.getInt("tag", numero);
    }
    catch(NullPointerException e){
        e.printStackTrace()
    }
    public void onClick(View v) {
    
          numero++;
          contador.setText(String.valueOf(numero));
    
     
          SharedPreferences.Editor editor = mPrefs.edit();
          editor.putInt("tag", numero).commit();
       }
    };
    

    【讨论】:

    • 还是不行,重新打开应用时值没有保存,但是谢谢
    • E/AndroidRuntime:致命异常:主进程:com.greenvegg.elhuevo,PID:21060 java.lang.RuntimeException:无法实例化活动 ComponentInfo{com.greenvegg.elhuevo/com.greenvegg.elhuevo .MainActivity}:java.lang.NullPointerException:尝试在 android.app.ActivityThread 的空对象引用上调用虚拟方法 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)'。 performLaunchActivity(ActivityThread.java:2548)
    • 引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)'在 android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多